内容发布更新时间 : 2024/11/19 7:33:39星期一 下面是文章的全部内容请认真阅读。
.
实验四 循环结构程序设计 (解答)
1.改错题
(1)下列程序的功能为:求1~100之和(和值为5050)并输出。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c存盘。
#include
int i,sum=0; i=1;
while(i<100) sum=sum+i; i++;
printf(“The sum from 1 to 100 is %d\\n”,sum); }
改正后的程序:
#include
int i,sum=0; i=1;
while(i<=100) { sum=sum+i; i++; }
printf(\}
(2)下列程序的功能为:倒序打印26个英文字母。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c存盘。
#include
char x; x='z';
while(x!='a') {
printf(\ x++; } }
精选范本
.
改正后的程序:
#include
char x; x='z';
while(x!='a'-1) 或while(x>='a') 或 while(x!=96) {
printf(\c\ x- -; } }
(3)下列程序的功能为:输出如下的图形,要求顶端的*定位在第21字符位置,请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_3.c存盘。 * *** ***** *******
#include
for (i=0;i<4;i++)
{ for (j=0;j<=20;j++) printf(\
for (j=0;j<2*i+1;j++) printf(\ } }
改正后的程序:
#include
void main() { int i,j;
for (i=0;i<4;i++)
{ for (j=0;j<=20-i;j++) printf(\
for (j=0;j<2*i+1;j++) printf(\ printf(\ } }
2.程序填空
(1)下列程序的功能为:用辗转相除法求两个正整数的最大公约数;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_4.c存盘。
提示:
精选范本
.
“辗转相除法” 求两个正整数的最大公约数的算法如下:
① 将两数中大的那个数放在m中,小的放在n中。 ② 求出m被n除后的余数r。 ③ 若余数为0则执行步骤(7);否则执行步骤(4)。 ④ 把除数作为新的被除数;把余数作为新的除数。 ⑤ 求出新的余数r。
⑥ 重复步骤(3)到(5)。 ⑦ 输出n,n即为最大公约数。
#include
int r, m, n, t ;
scanf (\ if (m { t=m; m=n; n=t; } 或 t=m,m=n,n=t; r = m%n; while (r) { m=n; n=r; r= m%n ; } printf (\} (2)下列程序的功能为:计算1020个西瓜几天后能卖完(第一天卖了一半多两个,以后每天卖剩的一半多两个);请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_5.c存盘。 #include int day,x1,x2; day=0; x1=1020; while( x1>0 ) { x2= x1/2-2 ; x1=x2; day++; } printf(“day=%d\\n”,day); } (3)下列程序的功能为:输出100以内能被3整除且个位数为6的所有整数;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_6.c存盘。 精选范本