C语言第一次实验报告

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

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

设计思路:输入2个4位数作为时间,然后做到分钟相减,小时相减,注意1小时为60分钟,所以有时候需要借位处理。

实现方法:若到达时间的分钟mm小于出发时间的分钟,则到达时间的分钟mm加上60减去出发时间,而到达时间的小时hh先减去1再减出发时间的小时。

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

设计思路:首先用if语句分别计算闰年与非闰年的天数,再区分大月,小月,二月。

实现方法:用if语句区分闰年与非闰年,再在if语句中使用if语句区分大月,小月,二月,设总天数S,使用循环语句设i小于月份数时循环,大月时S+31,小月S+30,二月S+28。

实验题目1:第四次 分支+循环 加强版(4-2-4 三天打鱼两天晒网)

设计思路:输入天数,用天数和5求余,用余数辨别打鱼还是晒网。

实现方法:设a为天数除以5后的余数,用if语句输出这天是打鱼或是晒网。

二.源程序

7-7 计算火车运行时间

if(dd<bb){
mm=dd+60-bb;
hh=cc-1-aa;
}
else{
mm=dd-bb;
hh=cc-aa;
}

4-2-8 计算天数

if(d==0&&e!=0||f==0){
for(i=1;i<b;i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
s=s+31;
}
if(i==2){
s=s+29;
}
if(i==4||i==6||i==9||i==11){
s=s+30;
}
}

4-2-4 三天打鱼两天晒网

int N,a;
0<=N<=1000;
scanf("%d",&N);
a=N%5;
if(a>3||a==0){
printf("Drying in day %d\n",N);
}
else{
printf("Fishing in day %d\n",N);
}

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

用if语句时,判断条件只有==才是等于,=是赋值,这两个符号容易记混。

还有/与%需要灵活运用,用整形数做除法需要求出实数时,比如:a为实数,b为整形数。a=b/5.0,不然小数位会被省略为0

 

 

 

 

posted @ 2017-10-25 20:18  guoxiaowen  阅读(159)  评论(0编辑  收藏  举报