首页 > 技术文章 > c语言实验报告

hexintong99 2017-10-20 22:12 原文

c语言实验报告

一.实验题目  设计思路  实现方法

第三次实验  计算分段函数(7-7计算火车运行时间)    第四次 分支+循环  加强版(4-2-7装睡  4-2-8 计算天数)

设计思路:对于7-7,存在分钟借位的问题,故先将时间统一化成分钟,再用到站时间减去出发时间得出一个数a(单位分钟),用a/60得到小时,a%60得到分钟,从而得出运行时间

对于4-2-7,需要对输入数据一个个处理并输出,这时便需要将scanf放入循环体中,而输入输出有字符串,就需要一个char数组来定义字符串长度。

对于4-2-8,由于天数的有规律交替,则使用switch-case来实现更加简便,而对于条件满足其一即可,就可以使用 “||” 来表示 “或”。

二.源程序

第三次实验  计算分段函数(7-7计算火车运行时间)

#include <stdio.h>
int main()
{ int a,b,c,d,e,f,y,x,t;
scanf("%d %d",&a,&b);
c=a/100;
d=b/100;
e=a%100;
f=b%100;

y=(d*60+f)-(c*60+e);
x=y/60;t=y%60;
printf("%02d:%02d",x,t);

return 0;
}

第四次 分支+循环  加强版(4-2-7装睡)

#include <stdio.h>
char name[9];
int main()
{ int n,h,p,m,q=1;
scanf("%d",&n);
while (q<=n){
scanf("%s %d %d",&name,&p,&m);
q++;
if (15>p||p>20||m<50||m>70){
printf("%3s\n",name);
}
}
return 0;
}

第四次 分支+循环  加强版(4-2-8 计算天数)

#include <stdio.h>
int main()
{ int n,y,r,s=0,i;
scanf("%d/%d/%d",&n,&y,&r);
s=r;
for (i=1;i<y;i++){
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
s+= 31;
break;
case 4:
case 6:
case 9:
case 11:
s+= 30;
break;
case 2:
if((n%4==0&&n%100!=0)||(n%400==0)){
s+= 29;
}else{
s+= 28;
}
}}printf("%d\n",s);
return 0;
}

三.遇到的问题及解决方法,心得体会

对于7-7:一开始不知道分钟借位应该如何编写程序,便想出了另外一种方法,这让我明白了在编写程序方面条条大路通罗马,要敢想敢试,要经得起挫折。

对于4-2-7:起初不明白应该如何输入输出字符串,经过老师同学帮助,明白了要用数组char先来定义字符串长度(其中的长度包括结束字符的位置),并且scanf在输入该字符串时不用“&”。

对于4-2-8:一开始一直在用if-else和while,结果发现代码非常庞大,并且杂乱,经交流之后明白了switch-case能够简化该问题,而switch-case一直是我忽视的知识点,这让我明白了敲代码也需要一题多解,从而扩展视野。

这几次实验不仅让我巩固了专业知识,也让我明白了很多自己所忽视的不明白的知识点,也让我知道了编写程序应该有一个积极,不怕失败的心态。

推荐阅读