int fun(int m,int n) { int i;
/**********FOUND**********/ if (m=n) { i=m; m=n; n=i; }
for(i=m;i<=m*n;i+=m)
/**********FOUND**********/ if(i%n==1) return(i); return 0; } main() {
unsigned int m,n,q; printf(\ scanf(\ /**********FOUND**********/ q==fun(m,n);
printf(\} 答案:
=======(答案1)======= if (m =======(答案2)======= if(i%n==0) =======(答案3)======= q=fun(m,n); 第22题 (10.0分) 题号:434 难度:中 第2章 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:以下程序能求出1*1+2*2+......+n*n<=1000中满足条件的 最大的n。 ------------------------------------------------------*/ #include int n,s; /**********FOUND**********/ s==n=0; /**********FOUND**********/ while(s>1000) { ++n; s+=n*n; } /**********FOUND**********/ printf(\} 答案: =======(答案1)======= s=n=0; =======(答案2)======= while(s<=1000) =======(答案3)======= printf(\ 第23题 (10.0分) 题号:388 难度:中 第2章 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:编写程序, 求矩阵(3行3列)与5的乘积 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 500 1000 1500 2000 2500 3000 3500 4000 4500 ------------------------------------------------------*/ #include void fun(int array[3][3]) { /**********FOUND**********/ int i;j; /**********FOUND**********/ for(i=1; i < 3; i++) for(j=0; j < 3; j++) /**********FOUND**********/ array[i][j]=array[i][j]/5; } main() { int i,j; int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}}; for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf(\ printf(\ } fun(array); printf(\ for (i=0; i < 3; i++) { for (j=0; j < 3; j++) printf(\ printf(\ } } 答案: =======(答案1)======= int i,j; =======(答案2)======= for(i=0; i < 3; i++) =======(答案3)======= array[i][j]=array[i][j]*5; 第24题 (10.0分) 题号:406 难度:中 第2章 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:有1、2、3、4个数字,能组成多少个互不相同且无重复数 字的三位数?都是多少? ------------------------------------------------------*/ #include int i,j,k; /**********FOUND**********/ printf(\ /**********FOUND**********/ for(i=1;i<=5;i++) for(j=1;j<5;j++) for (k=1;k<5;k++) { /**********FOUND**********/ if (i!=k||i!=j||j!=k) printf(\ } } 答案: =======(答案1)======= printf(\ =======(答案2)======= for(i=1;i<5;i++) =========或========= for(i=1;i<=4;i++) =======(答案3)======= if (i!=k&&i!=j&&j!=k) 第25题 (10.0分) 题号:420 难度:难 第2章 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:打印出杨辉三角形(要求打印出10行). ------------------------------------------------------*/ #include int i,j; int a[10][10]; printf(\ /**********FOUND**********/ for(i=1;i<10;i++) { a[i][0]=1; a[i][i]=1; } /**********FOUND**********/ for(i=1;i<10;i++) for(j=1;j /**********FOUND**********/ a[i][i]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++) { for(j=0;j<=i;j++) printf(\ printf(\ } } 答案: =======(答案1)======= for(i=0;i<10;i++)