68.填空题 正确:if(k>=i) 【1】break; . 编程题
【2】i++ void fun (int a[3][3], 【3】′ \\0′ int b[3][3]) . 改错题
{ (1)错误:while(i>j) int i,j;
正确:while(i 正确:*c='\0'; b[i][j]=a[i][j]+a[j][i]; . 编程题 /*把矩阵a 加上a 的转置,存放在 void fun(int m, int *k, int xx[]) 矩阵b 中*/ { } int i,j,n=0; 71.填空题 for(i=4;i 【1】j=0,--I /*找出大于1 小于整数m 的非素数*/ 【2】j++,i-- {for(j=2;j if(i%j==0) break; (1)错误:fun(int m) if(j } (2)错误:for(i=100,i<=m,i+=100) *k=n; 正确:for(i=100;i<=m;i+=100) /*返回非素数的个数*/ . 编程题 } double fun(STREC *a, STREC *b, 69.填空题 int *n) 【1】i { 【2】g*g*g==i int i,j=0; . 改错题 double av=0.0; (1)错误:fun(char *s, int num[5]) for(i=0;i 正确:switch(*s) if(a[i].s /*将低于平均值的学生记录存入结构 void fun(char p1[],char p2[]) 体b 中*/ { *n=j; int i,j; /*指针传回低于平均值的学生人数*/ for(i=0;p1[i]!='\\0';i++); /*求出的i 为p1 return av; 字符串的总长度,包括结束标记位*/ /*返回平均值*/ for(j=0;p2[j]!='\\0';j++) } p1[i++]=p2[j]; 72.填空题 /*将p2 字符串连在p1 字符串后面*/ 【1】aa[i]%2==0 p1[i]='\\0'; 【2】i (1)错误:i=1; 70.填空题 正确:i=0; 【1】j=i 或j=i+2 (2)错误:while(i<3||*p) 【2】aa[i]>aa[j] 正确:while(i<3&&*p) . 改错题 (3)错误:b[k]= ' '; (1)错误:if(i%k!=0) 正确:b[k++]=' '; 正确:if(i%k==0) . 编程题 (2)错误:if(k void fun(int (*s)[10], int *b, int *n, int mm, int nn) { int i,j,k=0; for(i=0;i /*将二维数组s 中的数据按行的顺序 依次放到一维数组b 中*/ for(j=0;j /*通过指针返回元素个数*/ } 73.填空题 【1】void fun(char s[],int n) 【2】j=0 【3】s[j]= ′ \\0′ . 改错题 错误:int fun(int x, y) 正确:int fun(int x,int y) . 编程题 void fun(char *a,char *p) { char *t=a; for(;t<=p;t++) if(*t!='*') *(a++)=*t; /*将p 以前有不是星号的字符保留下来*/ for(;*t!='\\0';t++) *(a++)=*t; /*将p 以后的所有星号保留下来*/ *a='\\0'; /*在字符串最后加上结束标记位*/ } 74.填空题 【1】N-1 【2】bb[n++]=aa[i] 【3】i,bb[i] . 改错题 (1)错误:fun( int n) 正确:double fun( int n) (2)错误:c=a;a+=b;b+=c; 正确:c=a;a+=b;b=c; . 编程题 int fun (STREC *a, STREC *b, int l, int h ) { int i,j=0; for(i=0;i if(a[i].s>=l&&a[i].s<=h) /*将分数高于l,低于h 的学生记录 存于结构体数组b 中*/ b[j++]=a[i]; return j; /*返回分数范围内的学生人数*/ } 75.填空题 【1】i 【2】s[j]=s[i] . 改错题 (1)错误:fun(double a,double x0) 正确:double fun(double a,double x0) (2)错误:if(fabs(x1-x0)>0.00001) 正确:if(fabs(x1-x0)>=0.00001) . 编程题 void fun(char a[M][N],char *b) { int i,j,k=0; for(i=0;i /*将字符串数组中的M 个字符串,按顺 序存入一个新的字符串*/ for(j=0;a[i][j]!='\\0';j++) b[k++]=a[i][j]; b[k]='\\0'; /*在字符串最后加上结束标志符*/ } 76.填空题 【1】&n 【2】t*I 【3】s+t . 改错题 (1)错误:return 1; 正确:return 3; (2)错误:return 3 正确:return 1; . 编程题 int fun(int a[], int n) { int i,j=1; for(i=1;i /*若该数与前一个数不相同,则要保留*/ a[j++]=a[i]; return j; /*返回不同数的个数*/ } 77.填空题 【1】b!=0 【2】a%b; 【3】n*m/a . 改错题 (1)错误:if n= =0 正确:if (n= =0) (2)错误:result*=n- - 正确:result*=n- - ; . 编程题 void fun(int *a, int *b) { int i,j; for(j=0;j b[j]=0; /*数组b 初始化为0*/ for(i=0;i /*如果年龄大于等于100,b[10]自增1*/ else b[a[i]/10]++; /*如果年龄小于100,则将其分别统计 到b[a[i]/10]中*/ } 78.填空题 【1】bb[i][j]=0 【2】1 【3】j==n-1-i . 改错题 (1)错误:if k>0 正确:if (k>0) (2)错误:else if(k=0) 正确:else if(k==0) . 编程题 int fun(char *s) { int i,j=0; for(i=0;s[i]!='\\0';i++) if(s[i]!=' '&&(s[i+1]==' '|| s[i+1]=='\\0')) /*如果一个字母的下一个字符为空格或 者结束标记,则表示一个单词结束*/ j++; return j; /*返回单词个数*/ } 79.填空题 【1】N 【2】M 【3】bb[i]/N . 改错题 错误: for(i=0,str[i],i++) 正确:for(i=0;str[i];i++) . 编程题 void fun(char *a) { int i,j=0; for(i=0;a[i]!='\\0';i++) if(a[i]!='*') a[j++]=a[i]; /*若不是要删除的字符'*'则留下*/ a[j]='\\0'; /*最后加上字符串结束符'\\0'*/ } 80.填空题 【1】a*10+*p-'0' 【2】b*10+*p-′0′ 【3】ch . 改错题 (1)错误: t=1.0-1/i; 正确:t-=1.0/i; (2)错误: ; 正确:return t; . 编程题 STREC fun(STREC *a, char *b) { int i; STREC str={\ /*若没找到指定的学号,在结构体变 量中给学号置空串,给成绩置-1*/ for(i=0;i if(strcmp(a[i].num,b)==0) /*找到指定学号的学生数据*/ str=a[i]; return str; /*返回学生记录*/ } 81.填空题 【1】flag=1 【2】flag=0 【3】aa[k++]=i . 改错题 错误:c=aa[i]; 正确:ch=aa[i]; . 编程题 double fun(int n) { int i; double s=0.0; for(i=1;i<=n;i++) s=s+1.0/(i*(i+1)); /*求级数的和*/ return s; } 82.填空题 【1】strlen(str1) (1)错误: int fun(int n,int xx[][]) 正确:int fun(int n,int xx[][M]) (2)错误:printf(\正确:printf(\. 编程题 void fun(int a ,int b,long *c) { *c=a*1000+b/10*100+a/10*10+ b; /*将a 数的十位和个位数依次放在c 数的十位和千位上,b 数的十位和 个位数依次放在c 数的百位和个位上*/ } 83.填空题 【1】break 【2】′ \\0′ 【3】*p++ . 改错题 (1)错误:int d; 正确:long d; (2)错误:if(d%2=0) 正确:if(d%2==0) (3)错误:s\=10; 正确:s/=10; . 编程题 void fun(char *s,char t[]) { int i,j=0,k=strlen(s); /*k 为字符串的长度*/ for(i=1;i /*将s 所指字符串中下标为奇数的 字符存入t 所指字符串中*/ t[j++]=s[i]; t[j]='\\0'; /*在字符串最后加上结束标志*/ } 84.填空题 【1】p=str 【2】p[i]++ 【3】s[i]= ′ \\0′ . 改错题 (1)错误:k++ 正确:k++ ; (2)错误:if(m=k) 正确:if(m= =k) . 编程题 void fun(char *s, char t[]) { int i=0; for(;*s!='\\0';s++) /*找出ASCII 值为奇数的字符依次 存入数组t 中*/ if(*s%2==1) t[i++]=*s; t[i]='\\0'; /*在字符串的末尾加上串结束符*/ } 85.填空题 【1】j>i 【2】bb[j]=bb[j-1] 【3】break . 改错题 错误:c[t]= \\0\正确:c[t]= '\0'; . 编程题 fun(STU a[], STU *s) { int i; *s=a[0]; /*先认为第1 个值最小*/ for(i=0;i /*如果在循环的过程中再发现比第1 个 值更小的则赋给*s*/ if(s->s>a[i].s) *s=a[i]; } 86.填空题 【1】i==0||i==n-1||j==0||j==n-1 【2】bb[i][j]=0 . 改错题 错误: 缺{ 正确:加{ . 编程题 float fun (float *a, int n) { float av=0.0; int i; for(i=0;i return (av/n); /*返回平均值*/ } 87.填空题 【1】str1[i]!=' ' 【2】i++ . 改错题 (1)错误:int fun(int n) 正确:float fun(int n) (2)错误:for(i=2;i void fun (char *a) { while(*a!='\\0') a++; a--; /*指针a 指向字符串的尾部*/ while(*a=='*') a--; /*指针a 指向最后一个字母*/ *(a+1)='\\0'; /*在字符串最后加上结束标志位*/ } 88.填空题 【1】array 【2】*(*(p+i)+j) . 改错题 (1)错误: result*=- -n; 正确:result*=n- -; (2)错误: return; 正确:return result; . 编程题 double fun(STREC *h) { double av=0.0; STREC *p=h->next; /*p 直接指向\头结点\的下一个结点,即第一个成绩*/ while(p!=NULL) {av=av+p->s; /*求总分数*/ p=p->next; } return av/N; /*返回平均值*/ } 89.填空题 【1】\【2】str[i]!='*' 【3】\. 改错题 错误: printf(\正确:printf(\. 编程题 double fun(double x[10]) { double x1=0.0,s=0.0; int i; for(i=0;i<10;i++) x1=x1+x[i]; x1=x1/10; /*求10 个数的平均值*/ for(i=0;i<10;i++) s=s+(x[i]-x1)*(x[i]-x1); return sqrt(s/10); /*求10 个数的方差*/ } 90.填空题 【1】bb[i]=0 【2】bb[i]+=score[i][j] . 改错题 (1)错误:缺少语句 正确:应填入nose 或n (2)错误:缺少语句 正确:应填入[d] . 编程题 double fun (STREC *a,STREC *b, int *n) { int i; double av=0.0; *n=0; for(i=0;i { b[*n]=a[i];*n=*n+1;} /*将高于等于平均分的学生存入b 所 指存储单元中,并统计人数*/ return av; /*返回平均分*/ } 91.填空题 【1】i (1)错误:s[j]=s[i]; 正确:s[j++]=s[i]; (2)错误:s[i]= '\\0'; 正确:s[j]= '\\0'; . 编程题 double fun(int n) { int i; double s=0.0; for(i=1;i<=n;i++) s=s+(1.0/(2*i-1)-1.0/(2*i)); /*计算S=(1-1/2)+(1/3-1/4)+…+ (1/(2n-1)-1/2n)*/ return s; } 92.填空题 【1】sum=0 【2】sum+=n 【3】ld . 改错题 { (1)错误:void fun(int a) char *p=a; 正确:int fun(int *a) while(*p=='*') p++; (2)错误:a[j]=a[j+1]; /*指针p 指向字符串第一个字母*/ 正确:a[j]=a[j-1]; for(;*p!='\\0';p++,a++) . 编程题 *a=*p; double fun(int m) /*从第一个字母开始,其后的字符 { 都放入指针a 所指的字符串中*/ int i; *a='\\0'; double s=0.0; /*在字符串最后加上结束标记符*/ for(i=1;i<=m;i++) } s=s+log(i); 95.填空题 /*计算s=ln(1)+ln(2)+ln(3) 【1】&& +…+ln(m)*/ 【2】fputc(ch,fp1) return sqrt(s); 【3】fclose(fp) /*对s 求平方根并返回*/ . 改错题 } (1)错误:while(t>=num) 93.填空题 正确:while(fabs(t)>=num) 【1】&n (2)错误:t=s%n; 【2】i=1 或i=2 正确:t=s/n; 【3】f*=i . 编程题 . 改错题 void fun(char *a,int n ) (1)错误:for(i=0;i<=3;i++) { int i=0, k=0; 正确:for(i=1;i<=3;i++) char *p, *t; (2)错误:if(k>=1&&k<=6) p=t=a; 正确: /*开始时,p 与t 同时指向数组的首地址*/ if((k>=1&&k<=6)&&(i!=0)&&(j!=0)||(k==0)) while(*t=='*') . 编程题 /*用k 来统计前部星号的个数*/ double fun(double x, int n) {k++; t++;} { if(k>n) int i; /*如果k 大于n,则使p 的前部保留n 个星 double s=1.0,s1=1.0; 号,其后的字符依次存入数组a 中*/ for(i=1;i<=n;i++) { while(*p) {s1=s1*i; {a[i]=*(p+k-n); /*各项中的阶乘*/ i++; s=s+pow(x,i)/s1; p++; /*按公式求出*/ } } a[i]='\\0'; return s; /*在字符串最后加上结束标志位*/ } } 94.填空题 } 【1】xx[i] 96.填空题 【2】bb[n++]=xx[i] 【1】flag=1 【3】n 【2】j%i==0 . 改错题 【3】flag==1 (1)错误:for(i=1;i 正确:for(i=1;i<=y;i++) (1)错误:double fun(double q) (2)错误:t=t/1000; 正确:double fun(int q) 正确:t=t00; (2)错误:s=s+(n+1)/n; . 编程题 正确:s=s+(double)(n+1)/n; void fun (char *a) (3)错误:return s; 正确:return t; . 编程题 double fun(int n) { int i; double s=0.0,s1=0.0; for(i=1;i<=n;i++) { s1=s1+i; /*求每一项的分母*/ s=s+1.0/s1; /*求S=1+1/(1+2)+1/(1+2+3)+…+ 1/(1+2+3+…+n)*/ } return s; } 97.填空题 【1】*p1<*p2 【2】*p1>*p2 【3】′\\0′ . 改错题 (1)错误:fun(int k) 正确:double fun(int k) (2)错误:return s 正确:return s ; . 编程题 double fun(int n) { int i; double s=0.0,s1=0.0; for(i=1;i<=n;i++) {s1=s1+pow(i,0.5); /*求每一项*/ s=s+s1; /*按公式求出s*/ } return s; } 98.填空题 【1】i 【2】p->next=s 【3】p->next . 改错题 (1)错误:f(double x) 正确:double f(double x) (2)错误: return s 正确:return s ; . 编程题 void fun (char a[ ], char b [ ], int n) { int i,k=0; for(i=0;a[i]!='\\0';i++) if(i!=n) /*将不是指定下标的字符存入数组b 中*/ b[k++]=a[i]; b[k]='\\0'; /*在字符串最后加上结束标记*/ } 99.填空题 【1】″out99.dat″, ″w″ 【2】fputc(ch,fp) 【3】fclose(fp) . 改错题 (1)错误:#define FU(m,n) (m/n) 正确:#define FU(m,n) (m)/(n) (2)错误:return(Value); 正确:return (value); . 编程题 unsigned fun(unsigned w) { if(w>=10000) return w000; /*求出n 位整数w 的后n-1 位的数*/ if(w>=1000) return w00; if(w>=100) return w0; if(w>=10) return w; } 100.填空题 【1】x>y 【2】x>z 【3】y>z . 改错题 (1)错误:int i,j,k,sum; 正确:int i,j=0,k,sum; (2)错误:if(sum%4=2) 正确:if(sum%4= =2) (3)错误:return j; 正确:return j++; . 编程题 float fun (float h ) { long t; t=(h*1000+5)/10; /*单精度数h 乘以1000 后再加5,相 当于对h 中的第三位小数进行四舍 五入除以10 后将其赋给一个长整 型数时就把第三位小数后的数全 部截去*/ return (float)t/100; /*除以100,保留2 位小数*/ }__