在平均值以下(含平 均值)的实数个数。
例如:n=6时,输入23.5, 45.67, 12.1, 6.4,58.9, 98.4所得
平均值为40.828335,在平均值以下的实数个数应为3。
#include
int j,c=0;
/**********ERROR**********/ double j=0;
/**********ERROR**********/ for(j=0;j<=n;j++) xa+=x[j]; xa=xa/n;
printf(\ /**********ERROR**********/ for(j=0;j<=n;j++) if(x[j]<=xa) c++;
/**********ERROR**********/ return xa; } main() {
double x[]={23.5,45.67,12.1,6.4,58.9,98.4}; printf(\ }
答案float xa=0; for(j=0;j int fun (char *s, char *t1, char *t2 , char *w) { int i; char *p , *r, *a; strcpy( w, s ); while ( *w ) { p = w; r = t1; /**********ERROR**********/ while ( *r ) if ( *r == *p ) { r++; p++; } else break; /**********ERROR**********/ if ( *r == '\\0' ) { a = w; r = t2; /**********ERROR**********/ while ( *r) { *a = *r; a++; r++; } w += strlen(t2) ; } else w++; } } main() { char s[100], t1[100], t2[100], w[100]; printf(\enter string S:\scanf(\s); printf(\enter substring t1:\scanf(\t1); printf(\enter substring t2:\scanf(\t2); if ( strlen(t1)==strlen(t2) ) { fun( s, t1, t2, w); printf(\ } else printf(\ } 【程序改错】 #include /**********ERROR**********/ int i,k; for(i=m+1;;i++) { for(k=2;k /**********ERROR**********/ if(i%k==0) break; 6 /**********ERROR**********/ if(k==i) return(i); } } main() { int n; printf(\ scanf(\ printf(\ } 【程序改错】题目:从键盘输入二维数组a[4][5]的值,求每行元素的最小值, 并存入一维数组b[4]中。 -------------------------------------------------------- #include \ /**********ERROR**********/ void fun() int a[4][5],b[4]; {int i,j,min; for(i=0;i<4;i++) { min=a[i][0]; for(j=0;j<5;j++) if(min>a[i][j]) /**********ERROR**********/ min=a[i][j]; /**********ERROR**********/ min=b[j]; } } main() {/**********ERROR**********/ int a[4][5],b[4],i,j; for(i=0;i<4;i++) for(j=0;j<5;j++) scanf(\ for(i=0;i<4;i++) {for(j=0;j<5;j++) printf(\ printf(\ fun(a,b); for(i=0;i<4;i++) printf(\ } 【程序改错】功能:使数组左下三角元素中的值乘以n 。 #include \ #include \ #include \ #define N 3 int fun ( int a[][N], int n ) { /**********ERROR**********/ int i;j; for(i=0; i < N; i++) /**********ERROR**********/ for(j=0; j /**********ERROR**********/ a[i][j]=*n; } main ( ) { int a[N][N], n, i, j; printf(\ for ( i =0; i<3;i++) { for ( j =0; j<3;j++) { a[i][j] = rand(); printf( \ } printf(\ } do n = rand(); while ( n >=5||n<1 ); printf(\ fun ( a, n ); printf (\ for ( i =0; i<3;i++) { for ( j =0; j<3;j++) printf( \ printf(\ } 答案int i,j; for(j=0;j<=i;j++) a[i][j]*n; 【程序改错】功能:将s所指字符串的反序和正序进行连接形成一个新串放在 t所指的数组中。 例如:当s所指的字符串的内容为\时,t所指数组中 的内容为\。 #include \ #include \ #include \ 7 /**********ERROR**********/ void fun (char s, char t) { int i, d; /**********ERROR**********/ d = len(s); /**********ERROR**********/ for (i = 1; i printf(\ for(i=0;i<10;i++) printf(\ printf(\ } 答案scanf(\ for(i=1;i<10;i++) if(a[i] 【程序改错】题目:任意输入一个人5门课程的成绩,使 t[2*d] = '/0'; } main() { char s[100], t[100]; printf(\ scanf(\ fun(s, t); printf(\ } 答案fun dobule <=x return t 【程序改错】功能:有一数组内放10个整数,要求找出最小数和它的下标,然后 把它和数组中最前面的元素即第一个数对换位置. #include \ main( ) { int i,a[10],min,k=0; printf(\ for(i=0;i<10;i++) /***********ERROR***********/ scanf(\ for(i=0;i<10;i++) printf(\ min=a[0]; /***********ERROR***********/ for(i=3;i<10;i++) /***********ERROR***********/ if(a[i]>min) { min=a[i]; k=i; } /***********ERROR***********/ 用冒泡法对5科成绩从大到小排序, 再输出排好序的成绩。 程序中共有4条错误语句,请改正错误。#include \ void fun(float a[5],int n ) { int i,j; float t; for(i=0;i /**********ERROR***************/ for(j=0;j t=a[j]; a[j]=a[j+1]; a[j+1]=t; } printf(\输出排好序的数组:\\n\ for(i=0;i printf(\ for(i=0;i<5;i++) scanf(\ printf(\输出原数组元素:\\n\ for(i=0;i<5;i++) printf(\ printf(\ /**********ERROR**********/ fun(a,5); } 答案1.for(j=0;j 3.printf(\ 4.fun(score,5); 【程序改错】功能:用冒泡法对10个整数从小到大排序。 t=x[j]; x[j]=x[j+1]; x[j+1]=t; #include int i,j,t; for(i=0;i /**********ERROR**********/ for(j=0;j int i,n,a[100]; printf(\ scanf(\ for(i=0;i printf(\ for(i=0;i<=n-1;i++) printf(\ printf(\ } 【参考答案】void sort(int *x,int n) for(j=0;n-(i+1)>j;j++) if(x[1+j] 【程序改错】功能:用起泡法对10个整数从小到大排序。 #include int i,j,t; for(i=0;i /**********ERROR**********/ for(j=0;j } } main() { int i,n,a[100]; printf(\ scanf(\ for(i=0;i printf(\ for(i=0;i<=n-1;i++) printf(\ printf(\ } 【参考答案】void sort(int *x,int n) for(j=0;j 【程序改错】将长整型数中每一位上为偶数的数依次取出,构成一个新 数放在t中。高位仍在高位,低位仍在低位。 #include \ #include \ void fun (long s, long *t) { int d; long sl=1; *t = 0; while ( s > 0) { d = s; /**********ERROR**********/ if(d%2=0) { /**********ERROR**********/ *t=d* sl+ t; sl *= 10; } /**********ERROR**********/ s\\=10; } } main() { 9 long s, t; printf(\ scanf(\ fun(s, &t); printf(\ } 【参考答案】if(d%2!=1) *t=*t+sl*d; 【程序改错】题目:输入一个字符串,将其首尾互换。若输入abcdef输出fedcba。 #include printf(\ /***********ERROR***********/ scanf(\ k=strlen(s1); /***********ERROR***********/ j=k; /***********ERROR***********/ for(i=0;i>j;i++,j--) {ch=s1[i]; s1[i]=s1[j]; s1[j]=ch;} puts(s1); } 参考答案 scanf(\ j=k-1; for(i=0;i 【程序改错】题目:输入一个字符串,将其第一个字符和最后一个字符互换。 若输入abcdef则输出fbcdea。 #include printf(\ /***********ERROR***********/ scanf(\ i=0; while(s1[i]) i++; ch=s1[0]; /***********ERROR***********/ s1[0]=s1[i]; /***********ERROR***********/ s1[i]=ch; puts(s1); } 【参考答案】scanf(\ s1[0]=s1[i-1]; s1[i-1]=ch; 【程序改错】题目:下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。 例如,给字符串s输入:AAaBBb123CCccccd,则应输出结果:大写字母个数=6,小写字母个数 =7。 #include /***********ERROR***********/ int i,upper=0,lower=0; while (s[i]) {if (s[i]>='A'&& s[i]<='Z') /***********ERROR***********/ upper+1; if (s[i]>='a'&& s[i]<='z') /***********ERROR***********/ lower+1; i++;} printf(\大写字母 个数= %d 小写字母个数 = %d\\n%upper, lower); } main() { char s[100]; printf(\请输入一个字符串: \ gets(s); puts(s); fun(s); } 参考答案int i=0,upper=0,lower=0; upper++; lower++; 【程序改错】题目:假定输入的字符串中只包含字母和*号。编写程序只删除字符串的后面*号。 #include void fun(char a[]) { 10