C语言实验报告 联系客服

发布时间 : 星期二 文章C语言实验报告更新完毕开始阅读

Test 3 综合练习

1.编写程序,实现输入的时间屏幕显示一秒后的时间。显示格式为HH:MM:SS。程序需要处理以下三种特殊情况:

(1)若秒数加1后为60,则秒数恢复到0,分钟数增加1; (2)若分钟数加1后为60,则分钟数恢复到0,小时数增加1; (3)若小时数加1后为24,则小时数恢复到0。 设计思路:

调试结果:#include \struct time { int hour; int minute; int second; }; main() {

struct time now;

printf(\

scanf(\ now.second++;

if(now.second==60) { now.second=0; now.minute++;

}

if(now.minute==60) { now.minute=0; now.hour++; }

if(now.hour==24)

now.hour=0;

printf(\}

运行结果:

2.编写函数,采用递归方法将任一正整数转换为二进制形式。 设计思路: 调试结果:

#include

turn(n,a,k) int n,a[ ],k; { if(n>0) {

a[k]=n%2;

turn(n/2,a,k-1); }

else return; } main() {

int i,n,a[16]={0};

printf(\ scanf(\

turn(n,a,15);

for(i=0;i<16;i++); printf(\

}

设计思路:函数的调运,字符串的输入和输出,循环的使用,数组的使用。 运行结果:

3.从键盘上输入两个日期,计算两者之间相隔的天数。具体要求如下: (1) 定义一个一维数组,用以存放平年的12个月的每月天数。

(2) 设计一个自定义函数fa(),判断年份是否闰年,如果是则返回数值1,否则返回0。 (3) 设计一个自定义函数fb(),用以计算起始日期到年底的天数。

(4) 设计一个自定义函数fc(),用以计算起始日期到终止日期间的整年的天数。 (5) 设计一个自定义函数fd(),用以计算终止日期是该年的多少天。 (6) 主函数要求日期的输入与结果的输出有良好的提示信息。 设计思路:

调试结果:#include \int fa(int q) { }

if((q%4==0 && q0!=0) || q@0==0) return(1); else

return(0);

int fb(int a[],int b,int c) { int i;

int sum=a[b-1]-c;

for(i=b;i<12;i++) sum+=a[i]; return(sum); }

int fc(int a[],int b,int c,int d,int e) {

int sum=0,sum1,sum2; int i;

for(i=0;i

sum1+=a[i]; sum1+=c,sum1--; for(i=0;i

return(sum); }

int fd(int a[],int d,int e) {

int i;

int sum=e;

for(i=0;i

}

void main() {

int q;

int b,c,d,e;

int a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf(\请输入你想判断的年份:\scanf(\if(fa(q)==1) { }

printf(\是闰年\\n\a[1]++;

else printf(\是平年\\n\printf(\请输入起始日期:\scanf(\

}

printf(\请输入终止日期:\scanf(\

printf(\起始日期到年底的天数为:%d\\n\

printf(\起始日期到终止日期间的整年的天数为:%d\\n\printf(\终止日期是该年的第%d天\\n\

运行结果:函数的调运,字符串的输入和输出,循环的使用,数组的使用。

4.在主函数中输入2013年的某月某日,编写一个函数完成计算该日是星期几,在主函数中输出。程序存入TEST34.C中。(已知2013年的1月1日是星期二) 例如:输入:1/2(表示1月2日)

输出:Tue(表示星期二)

设计思路:

调试结果:#include\void main() {

int fa(int n,int m); int n,m,y;

printf(\请输入月份,日期\\n\

scanf(\ y=fa( n, m);

switch(y) { case 0:printf(\ case 1:printf(\ case 2:printf(\ case 3:printf(\ case 4:printf(\ case 5:printf(\ case 6:printf(\

}

}

int fa(int n,int m) {

int i,sum=0,c,a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; for(i=1;i<=12;i++) { if(i