C上机试卷第二套.docVIP

  • 27
  • 0
  • 约 6页
  • 2017-05-12 发布于河南
  • 举报
C上机试卷第二套

第二套 程序填空(每空6分,共30分) 用全局变量编程模拟显示一个数字式时钟,然后上机验证。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #include stdio.h int hour, minute, second; /* 定义全局变量 */ void update() { second++; if (second == 60) { ① ; minute++; } if ( ② ) { minute = 0; hour++; } if (hour == 24) hour = 0 ; } void display() { printf( ③ \r, hour, minute, second); } void delay() { int t; for (t=0; t100000000; t++);/* 用循环体为空语句的循环实现延时 */ } void main() { int i; hour = minute = second = 0;; for(i=0; i1000000; i++) /* 利用循环结构,控制时钟运行的时间 */ { update(); /* 更新时、分、秒显示值 */ display(); /* 显示时分秒 */ delay(); /* 模拟延迟时间为1秒 */ } } 下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include stdio.h int fun(int a,int b) { int r,t; if(ab) { /************found************/ t=a; b=a; a=t; } /************found************/ r=a/b; while(r!=0) { a=b; b=r; r=a%b; } /************found************/ return(a); } void main() { int num1, num2,a; printf(Input num1 num2: ); scanf(%d%d,num1,num2); printf(num1= %d num2= %d\n\n,num1,num2); a=fun(num1,num2); printf(The maximun common divisor is %d\n\n,a); } 三、编写计算最大公约数的函数Ged(),在主函数中调用该函数计算并输出从键盘任意输入的两整数的最大公约数。(40分) 第二套参考答案 程序填空(每空6分,共30分) 用全局变量编程模拟显示一个数字式时钟,然后上机验证。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! #include stdio.h int hour, minute, second; /* 定义全局变量 */ void update() { second++; if (second == 60) { second = 0; ① minute++; } if (minute == 60)② { minute = 0; hour++; } if (hour == 24) hour = 0; } void display() { printf(%2d:%2d:%2d\r, hour, minute, second); ③ } void delay() { int t; for (t=0; t100000000; t++);/* 用循环体为空语句的循环实现延时 */ } void main() { int i; hour = minute = second = 0; for(i=0; i1000000; i++) /* 利用循环结构,控制时钟运行的时间 */ { updat

文档评论(0)

1亿VIP精品文档

相关文档