第一次C语言实验报告

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

  #1.实验题目

7-7 计算火车运行时间(15 分)

本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

4-5 求简单交错序列前N项和(15 分)

本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。

4-2-8 计算天数(15 分)

本题要求编写程序计算某年某月某日是该年中的第几天。

#设计思路

7-7思路:时间的计算比较麻烦,可以把分钟统一化成小时,也可以把小时统一化成分钟,个人认为统一化成分钟更好做。化成分钟之后再相减然后取余。

4-5思路:利用循环,设置中间数利用其改变其符号以及每项变化的数最后输出即可,并且注意浮点型与整形。

4-2-8思路:注意判断是否为闰年,建立数组定义每个月的天数,并且二月改为28或29天,再使用循环算出总的天数。

实现方法

7-7:将两个四位数字,用除和取余分离出小时和分钟,在把小时全化成分钟加在一起;之后两个单位为分钟的数字相减,得出的数再用60除和取余;最后输出是用%02保存两个位数。

4-5:设置一个为一的中间数,并在循环用该中间数以其相反数再对其赋值;这样就可以使每一项为一正一负。

4-2-8: 将每个月的不同的天数以数组赋值,判断闰年后,将二月用28天重新赋值二月;最后利用循环便可得出结果。

源程序(可只截取最关键的部分)

7-7

int a,b,c,d,e,f,g,h,o,z,x;
scanf("%d%d",&a,&b);
c=a/100;
d=a%100;
e=b/100;
f=b%100;
g=c60+d;
h=e
60+f;
o=h-g;
z=o/60;
x=o%60;
printf("%02d:%02d",z,x);

4-2-8

int y,m,d,i;
int days=0;
int months[12]={31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d/%d/%d",&y,&m,&d);
if((y%4==0)&&(y%100!=0)||(y%400==0))
{
	months[1]=29;
	for(i=1;i<m;i++)
	{
		days=days+months[i]; 
	}
	
}
else
{
	for(i=1;i<m;i++)
	{
	days=days+months[i];	
	}

}
d=days+d;
printf("%d",d);

4-5

int i,n,a=1;
double s,b=1;
scanf("%d",&n);
s=0;
for(i=1;i<=n;i++)
{
  	s=s+(1.0/b)*a;
  	a=-a;
  	b=b+3;
}
printf("sum = %.3lf",s);

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

首先,刚刚接触c语言,很多必须知道的知识点都还不了解,因此翻书查看基础教程是必要的。另外我在打代码的过程中经常出现定义整形,浮点型混乱的错误,并且一些题目要求的小细节往往非常重要 少一个空格会出现很大的问题。
在写代码的时候必须注意定义的字母要清晰且明确,不要连自己写的代码自己都摸不清楚。然后,做题过程中出现的难题要请教老师同学,并且掌握这些不明白的。

posted on 2017-10-21 21:33  今天啊霄减肥了吗  阅读(441)  评论(1编辑  收藏  举报