改错题
一、求一维数组a中所有元素的平均值,结果保留两位小数。
#include #include void main() { int a[10]={10,4,2,7,3,12,5,34,5,9},i; \\*******************found********************\\ int aver,s; (应改为:float aver,s;) \\*******************found********************\\ s = 0; (应改为:s=a[o];) for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf(\"The aver is: %.2f\\n\ } 二、将[m,n]之间的所有素数存放到一维数组a中,并输出这些素数。 #include #include #include void main() { int a[100],i,j,k,m,n,c=0; printf(\"Please enter m,n(m \\*******************found********************\\ for ( i=m; i<=100; i++)(应改为: for ( i=m; i<=n; i++)) { k=(int)sqrt(i); for ( j=2; j<=k; j++) \\*******************found********************\\ if (j % i == 0) (应改为: if(i%j==0) break; if(j >= k+1) a[c++] = i; } for (i=0; i if ((i+1) % 4 == 0) printf(\"\\n\"); } } 三、将[2,100]之间的所有素数存放到一维数组a中,并输出这些素数。 #include #include #include void main() { int a[100],i,j,k,m; m = 0; for ( i=2; i<=100; i++) { k=(int)sqrt(i); for ( j=2; j<=k; j++) if (i % j == 0) \\*******************found********************\\ continue; (应改为: break;) \\*******************found********************\\ if(i >= k+1) (应改为:if(j> =k+1)) a[m++] = i; } for (i=0; i if ((i+1) % 4 == 0) printf(\"\\n\"); } } 四、求二维数组a中的最小值。 #include #include int arrmin( int arr[3][3]) { int i,j,min; \\*******************found********************\\ min=0; (应改为: min=arr[0];) for ( i=0; i<3; i++) for ( j=0; j<3; j++) if (min > arr[i][j]) min = arr[i][j]; return (min); } void main() { int a[3][3]={4,4,34,7,3,12,5,6,5},n; \\*******************found********************\\ n = arrmin( a[0][0]); (应改为: n=arrmin(a);) printf(\"The min is: %d\\n\ } 五、求一维数组a中所有元素的平均值。 #include #include float average( a,n) \\*******************found********************\\ int a,n; (应改为: int a[],n;) { int j; float aver; \\*******************found********************\\ float s; (应改为: float s=0;) for ( j=0; j aver = s / n; return (aver); } void main() { int a[12]={10,4,2,7,3,12,5,34,5,9,6,8}; printf(\"Theaverageis:%.2f\\n\ } 六、将[m,n]之间的所有素数存放到一维数组a中,并输出这些素数。 #include #include #include prime (int m) { int j,k; k=(int)sqrt(m); for ( j=2; j<=k; j++) if (m % j == 0) return (0); return (1); } void main() { int a[100],i,c=0,m,n; printf(\"Enter m,n(m \\*******************found********************\\ for (i=m; i<=100; i++)(应改为: for ( i=m; i<=n; i++)) \\*******************found********************\\ if(prime==1) (应改为: if(prime(i)==1;) { a[c]=i; printf(\"%4d\ ++c; } } 七、求一维数组a中值为奇数的元素的平均值。 #include #include double average( int arr[ ], int n ) { int k=0,i; double s; s = 0; for ( i=0 ;i if (arr[i] % 2 = 1) (应改为: if (arr[i] % 2 = =1)) { s = s + arr[i]; k++; } return (s/k) ; } void main() { int a[12]={10,4,2,7,3,12,5,34,5,9,21,18}; double s; \\*******************found********************\\ s = average(a[12],12); (应改为:s = average(a,12);) printf(\"The result is: %.2f\\n\ } 八、求一维数组a中的最大元素及其下标。 #include #include int max; fun ( int arr[],int n ) { int pos,i; max = arr[0]; pos = 0; for ( i=1; i { max = arr[i]; /************found************/ i=pos (应改为:pos=i;) } return (pos); } void main() {int a[10]={1,4,2,7,3,12,5,34,5,9},n; /************found************/ fun(a,4); (应改为:n = fun(a,10);) printf(\"The max is: %d ,pos is: %d\\n\ } 填空题 一. 求一维数组a中非素数之和。 例如:如果数组a的元素为:2,3,5,7,8,9,10,11,12,13,15,17,则程序的输出应为:Sum is: 。 #include #include void main() { int a[12]={2,3,5,7,8,9,10,11,12,13,15,17},i,j,k,s; /************found************/ ____(1)____; (应填:s=0) for ( i=0; i<12; i++) { k=sqrt(a[i]); for ( j=2;j <= k; j++) if (a[i] % j == 0) break; if( j<=k ) /************found************/ s=s+____(2)____; (应填:a[i]) } printf(\"Sum is: %d\\n\ 二. 打印出1至1000中满足其个位数字的立方等于其本身的所有整数。本题的结果为:1 125 216 729。 #include main() { int i,g; for(i=1;i<1000;i++) { /************found************/ g=i___1___10; (应填:%) /************found************/ if(___2___) printf(\"%4d\(应填:i==g*g*g) printf(\"\\n\"); } 三、计算并输出下列级数的前n项之和Sn,直到Sn大于q为止,q的值通过形参传入。 Sn = 2/1 + 3/2 + 4/3 + …… + (n+1)/n #include float fun( float q ) { int n; float s; n = 2; s = 2.0; \\*******************found********************\\ while (s___1___q) (应填:<=) { s=s+(float)(n+1)/n; \\*******************found********************\\ ___2___; (应填:n++) } return s; } main() { printf(\"%f\\n\ } 四、统计整数n的各个位上出现数字1、2、c2、c3返回主函数。 #include int c1,c2,c3; 的次数,并通过外部(全局)变量c1、3 void fun(long n) { c1 = c2 = c3 = 0; while (n) { \\*******************found********************\\ switch(___1___) (应填:n%10) { case 1: c1++; break; \\*******************found********************\\ case 2: c2++;___2___; (应填:break) case 3: c3++; } n /= 10; } } main() { int n=123114350; fun(n); printf(\"\\nn=%d c1=%d c2=%d c3=%d\\n\ } 五、程序的功能是计算y = 0! + 1! + 2! + 3! + 4! + …… + n! 如输入n的值为5的话,则输出y值为1 #include int fun(int n) { int i; int s; s=1; for (i=1; i<=n; i++) \\*******************found********************\\ s=___1___; (应填:s*i) return s; } main() { int s; int k,n; scanf(\"%d\ s=0; for (k=0; k<=n; k++) \\*******************found********************\\ s=___2___; (应填:s+fun(k)) printf(\"%d\\n\ } 六、计算N*N矩阵的主对角线元素和副对角线元素之和,并作为函数值返回。 #include #define N 3 fun(int t[][N], int n) { int i, sum; \\*******************found********************\\ ___1___; (应填:sum=0) for(i=0; i sum+=___2___ ; (应填:t[i][i]) for(i=0; i return sum; } main() { int t[][N]={1,2,3,4,5,6,7,8,9},i,j; for(i=0; i for(j=0; j printf(\"\\n\"); } printf(\"The result is: %d\\n\ } 七、统计一维数组a中素数的个数。 #include #include #include prinum( int a[] ) { int count,i,j,k; count = 0; for ( i=0; i<10; i++) { k=a[i]-1; for ( j=2; j<=k; j++) if (a[i] % j == 0) break; if(j >= k+1) count++; } \\*******************found********************\\ ____(1)____; (应填:return count;) } void main() { int a[10]={2,3,5,7,8,9,10,11,12,13},n; \\*******************found********************\\ n = ____(2)____; (应填:prinum(a)) printf(\"prime number(s) is(are): %d\\n\ } 八、把数组a(大小为M)中前M-1个元素中的最小值放入a的最后一个元素中。 #include #define M 11 void main() { int a[M],i; for(i=0;i a[M-1]=a[0]; \\*******************found********************\\ for(i=1; ___(1)___;i++)(应填:i if(___(2)___) (应填:a[M-1]>a[i]) a[M-1]=a[i]; printf(\"Max is %d\\n\ } 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo6.com 版权所有 湘ICP备2023023988号-11
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务