4.5 实验四 循环结构程序设计 一、实验目的与要求 1. 熟练掌握用while 语句,do-while 语句实现循环的方法。 2. 熟练掌握用for 语句实现循环的方法。 3. 对循环语句的三种形式进行分析、比较,以掌握各种形式的共同之处与其特点。 4. 掌握循环结构的嵌套,掌握break 语句和 continue 语句在循环体中的作用。 5. 实验 4 学时 二、实验内容 1. 程序验证题与改错题 (1)程序验证 从键盘输入一个整数,在屏幕上将其逆序数输入,例如输入 8193,输出 3918。 #include void main() { int x,number; printf("请输入一个整数:"); scanf("%d",&x); do{ x=number%10; number=number/10; printf("%d", x); }while(number!=0); printf("\n"); } 答: #include void main() { int x,number; printf("请输入一个整数:"); scanf("%d",&number); do{ x=number%10; number=number/10; printf("%d", x); }while(number!=0); printf("\n"); } 如果输入的是一个负整数,程序应该如何改? 答: #include #include void main() { int x,number; printf("请输入一个整数:"); scanf("%d",&number); if(number<0) { printf("-"); number=fabs(number); } do{ x=number%10; number=number/10; printf("%d", x); }while(number!=0); printf("\n"); } (2)程序改错 计算表达式1+2!+3!+…10!的值,改正下面程序中的多处错误。 源 程 序 (有错误的程序) #include void main(void) { int sum1,sum2, i,j; for(i=1;i<10;i++) for(j=1,j<=i,i++) sum1*=j; sum1+=sum2; printf("%d ",sum1); } 答: #include void main() { int sum1=1,sum2=0,i,j; for(i=1;i<10;i++) { for(j=1;j<=i;j++) sum1*=j; sum2+=sum1; } printf("%d",sum2); } 3.一般编程题 编程题1 用三种循环结构(w hile 语句、do-w hile 语句、for 语句),求 1000 以内奇数的和。 答: #include void main() { int n=1000,i=1,j=1,k,sum1=0,sum2=0,sum3=0; while(i<=n) { sum1+=i; i++; i++; } printf("while 语句求得奇数和为 :%d\n",sum1); do{ sum2+=j; j++; j++; }while(j<=n); printf("do-while 语句求得奇数和为 :%d\n",sum2); for(k=1;k<=n;k++) { sum3+=k; k++; }...