第1章:C语言基础
for(i=2;i>0;i--)
printf(”%d,”,i); printf(”%d”,i);}
3、阅读下面程序,程序的结果是14,4。 main()
{int i,j,m=0;
for(i=2;i<=10;i+=4) for(j=3;j<=4;j++) {m++;i++;}
printf(”%d,%d”,i,m);}
4、阅读下面程序,程序的结果是1978。 main()
{int j,a=2,n=4; long s=0,t=0;
for(j=0;j for(j=1;j 5、以下程序的功能是:按顺序读入10名 学生4门课程的成绩,计算出每位学 36 第1章:C语言基础 生的平均分并输出,程序如下: main() {int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) {scanf(\sum+=score;} ave=sum/4.0; printf(\ } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确。这条语句是______。 三、改错题 1、下列程序是计算如下公式的值 1 1 1 t=1- - - - ? - 2 3 m 例如,若输入5,则应输出-0.283333。 在程序中有2处错误(每个注释行下有一处错误),请改正,使它能计算 37 第1章:C语言基础 出正确结果。注意:不得增行或删行,也不得改变程序结构。 #include double t=1.0; /*******found***********/ scanf(”m=”,&m); /*******found**********/ for(i=2;i<=m;i++) t=1.0-1/I; printf(“t=%f”,t); } 改正后: #include \void main() { int i,m; double t=1.0; scanf(\ for(i=2;i<=m;i++){ t-=1.0/i; } 38 第1章:C语言基础 printf(\} 2、下列程序是求出以下分数序列的前n 项之和。 2 3 5 8 13 21 —,—,—,—,—,—, ? 1 2 3 5 8 13 例如,若n=5,则应输出8.391667。 在程序中有2处错误(每个注释行下有一处错误),请改正,使它能计算出正确结果。注意:不得增行或删行,也不得改变程序结构。 #include {int a=2,b=1,c,k,n; double s=0.0; /*******found***********/ scanf(”%d”,&n); for(k=1;k<=n;k++) {s=s+a/b; /*******found**********/ c=a; a+=b; b+=c; } 39 第1章:C语言基础 printf(“s=%f”,s); } 正确写法: #include \void main() { int i,t,n; float a=2,b=1,s=0; scanf(\ for (i=1;i<=n;i++){ s=s+a/b; t=a; a=a+b; /*将前一项分子与分母之和作为下一项的分子*/ b=t ; /*将前一项的分子作为下一项的分母*/ } printf (\} 3、下列程序是求正整数num的各位上的 数字之积。例如,输入252,则输出20;若输入202,则输出0。在程序中有2处错误(每个注释行下有一处错误),请改正,使它能计算出正确 40