c语言实验题目汇总3~12 下载本文

内容发布更新时间 : 2024/11/20 16:52:33星期一 下面是文章的全部内容请认真阅读。

明天的日期是,年y加上1:y+1,月m为1月:m=1,日d为1: d=1 printf(“明天的日期为%d年 %d月 %d日”,y+1,m=1,d=1); d) 如果输入的今天的日期为大月(奇数月和8月,10月)的最后一天 else if (d==31&& m%2==1||m==8||m==10),

明天的日期是,月加上1 m+1,日为1 d=1

printf(“明天的日期为%d年 %d月 %d日”,y,m+1,d=1); e) 当输入的今天的日期为小月的最后一天 else if (d==30&&&m!=2&&m%2==0) 那么明天的日期是,月加上1,日为1

printf(“明天的日期为%d年 %d月 %d日”,y,m+1,d=1); f) 其他情况:else 日加上1

输出明天的日期 printf(“明天的日期为%d年 %d月 %d日”,y,m,d+1); 实验题目3

编写程序用for实现 求1到100的奇数和 求1到100的奇数个数

求1到100的奇数之和的平均值 求1到100的偶数个数 求1到100的偶数之和

求1到100的偶数之和的平均值

提示:参考教材63页6-8例题,需要重新定义4个变量 奇数个数

奇数之和的平均值 偶数个数

偶数之和的平均值

实验7和while和do-while练习

实验题目1 顺序结构编程练习——计算定期存款本金和利息之和。设银行定期存款的年利率rate为0.5%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本金和利息之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。

提示:

假设我手上有2000元(存款本金),存到了银行1年,年利率为0.5% 一年的利息=本金*年利率=2000*0.005=10

那么本金和利息之和为:

2000+2000*0.005=2000*(1+0.005)=本金*(1+年利率) 也就是说存了1年后的本金和利息之和为:本金*(1+年利率) 1

第2年的本金就为2000*(1+0.005),也就是说存到了银行2年后本金和利息之和为: 2000*(1+0.005) +2000*(1+0.005)*0.005= 2000*(1+0.005)*(1+0.005)=2000*(+0.005)2 也就是说存了2年后的本金和利息之和为: 本金*(1+年利率)

2

据题目提示 存款日期为:n年

本金和利息之和为:deposit 定期存款的年利率:rate 存款本金:capital

存了n年后的本金和利息之和就是:本金*(1+年利率) n deposit=capital * (1+rate) n

幂函数c语言用pow()函数,例如pow(2,3),表示23 所以(1+rate) n

用c语言表示就是pow(1+rate,n)

#include #include int main() {

int n;

//存款年限变量定义

double rate; //存款年利率变量定义 double capital; //存款本金变量定义 double deposit; //本金和利息之和变量定义

printf(\, capital:\ //提示输入数据 scanf(\ //输入数据

deposit = capital * pow(1+rate, n); //计算存款利率之和,pow为幂函数

printf(\ //打印存款本金和利息之和 return 0; }

实验题目2 while循环结构编程练习——计算需要存多少年定期存款本金和利息利之和才达到规定数额。设银行定期存款的年利率rate为0.5%,并已知存款期 为n年,存款本金为capital元,试编程计算多少年后年后的本金和利息之和deposit达到3000元。要求定期存款的年利率rate 和存款本金capital均由键盘输入。 提示:

假设我手上有2000元(本金),存到了银行1年,年利率为%0.5 一年的利息=本金*年利率=2000*0.005=10 存款年数 第1年 第2年 第3年 第4年 本金capital 2000 2000*(1+0.005) 2000*(1+0.005)*(1+0.005) 本金利息之和deposit 2000*(1+0.005) 2000*(1+0.005)*(1+0.005) 2000*(1+0.005)*(1+0.005) *(1+0.005) 2000*(1+0.005)*(1+0.005) *(1+0.005) 2000*(1+0.005)*(1+0.005) *(1+0.005)*(1+0.005) 得出:当年的存款本金和利息之和=前一年存款本金和利息之和×(1+年利率) deposit =deposit * (1+rate); #include #include main() {

int n = 1; //存款年限变量定义 double rate; /*存款年利率变量定义*/ double capital; /*存款本金变量定义*/

double deposit; /*本金和利息之和变量定义*/

printf(\ /*提示输入数据*/

scanf(\ %lf\ /*输入数据*/

deposit= capital* (1+rate); //计算存款第一年的本金和利息之和

while (deposit<=3000.00) //循环判断条件,本金和利息之和deposit小于等于3000 {

deposit =deposit * (1+rate); //计算存款本金和利息之和

n++; }

printf(\本金和利息之和为deposit = %lf\\n存款年限为n=%d年\\n\ /*打印存款本金和利息之和和存款年限*/ }

实验题目3求sn=a+aa+...+aaa+...+a,例如,当a=2,n=4,sn=2+22+222+2222, 要求:

1、a和,n由键盘输入 2、用for循环实现

3、输出格式为:2+22+222+2222=2468

1. 这是一个循环次数确定的循环,采用for

2. 假设用户输入的a是2,n是4;我们发现 22=2*10+2 222=22*10+2 2222=222*10+2

假设初始输入的是a,用一个中间变量t存放上一次的值; 那么循环体可以写成: t=t*10+a; sum = sum+t; 3. 参考代码 #include int main() {

int a;//定义整型变量,存放用户输入的a int n;//定义整型变量,存放用户输入的n int i;//定义循环变量i

int t=0; //定义中间变量t,就是每次循环加的那一项,注意初始赋值为0 long sum = 0;//定义整型变量sum,用于存放2+22+222+2222的和

printf(“请输入两个正整数 a 和 n\\n”);//输入提示

for (i=1;i

t=t*10+a;//每一次循环加的值

sum=sum+t

if (i

printf(“%d+”,t) else } }

printf(“%d=%d”,t,sum)

实验8 for循环嵌套练习

实验题目1用for循环编程输出如图所示的棱形 * *** ***** ******* ***** *** * 提示:参考教材65页例题6-9 分上下两部分。 先输出:

* *** ***** ******* 再输出: ***** ***

*

采用双重循环,一行一行输出。 每一行输出步骤:一般3步。 1)光标定位: 输出空格 2 ) 输出图形:输出*号

例如本题:共7行,若行号用i表示,上半部分行号从1到4,则每一行有 2*i-1个*号。下半部分行号从3到

3)每输完一行光标换行(\\n)

实验题目2用for循环嵌套编程实现地下车位分配问题,假设地下车位的面积为4000平方米,需要分配成面积为55平方米的大车位和30平方米的小车位,求两种车位各分配多少个时,剩余的面积最少

提示:把所有可能的分配结果列出来,比较剩余面积temp,最后输出

55 30 200>115 55 30 30 115>85 55 30 30 30 85>55