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
相关推荐: