实验四 循环结构程序设计(答案) 下载本文

内容发布更新时间 : 2024/5/20 21:04:20星期一 下面是文章的全部内容请认真阅读。

.

实验四 循环结构程序设计 (解答)

1.改错题

(1)下列程序的功能为:求1~100之和(和值为5050)并输出。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c存盘。

#include main() {

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 main() {

int i,sum=0; i=1;

while(i<=100) { sum=sum+i; i++; }

printf(\}

(2)下列程序的功能为:倒序打印26个英文字母。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c存盘。

#include main() {

char x; x='z';

while(x!='a') {

printf(\ x++; } }

精选范本

.

改正后的程序:

#include main() {

char x; x='z';

while(x!='a'-1) 或while(x>='a') 或 while(x!=96) {

printf(\c\ x- -; } }

(3)下列程序的功能为:输出如下的图形,要求顶端的*定位在第21字符位置,请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_3.c存盘。 * *** ***** *******

#include void main() { int i,j;

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 main () {

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 main() {

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存盘。

精选范本