资源描述
a与b合并成c
97
填空 STYPE FILE fp
改错 for(i=0;i<=sl;i++) t[sl*2]='\0';
将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。4152
*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;
64
填空 struct student a.name a.score[i]
改错 if(p==n) return -1;
a[i]=a[i+1];
哪个成果正确以哪个为准
填空:void WriteText(FILE *fw)
fputs(str,fw); fputs("\n",fw);
printf("%s",str);
改错题:*t=0; sl=sl*10;
将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。1524
*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;
95
填空 fp fclose(fp) fname
改错 for(i=j+1;i<n;i++) p=i;
将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。2514
*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;
65
填空 *n next head
改错 a=NULL; if(*r==*p)
哪个成果正确以哪个为准
填空 ”r” fs ft
改错 if(d%2==0) s/=10;
将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。5142
*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;
33
填空 0 x t++
改错 int i,sl; t[i]=s[sl-i-1];
注意:改错第一个是sl(小写字母L)
改错第二个是 -1(数字1)
将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。1425
*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;
34
填空 1 s i*10
改错 int fun(int n,int xx[][M])
printf("%d",xx[i][j]);
将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。4251
*c=(a/10)*1000+(b%10)*100+(a%10)*10+b/10;
18
填空 k N-1 temp
改错 void fun(int a[][M],int m)
a[j][k]=(k+1)*(j+1);
将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。5241
*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;
72
填空 struct student*
a->score[i] a
改错 char* fun(char (*sq)[M]) return sp;
将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。2415
*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;
整除
94
填空 q next next
改错 p=j; p=i;
求出1到m之内(含m)能被7或11整除的所有整数放在数组a中。
int i,j=0; *n=0; for(i=1;i<=m;i++)
if(i%7==0||i%11==0) {a[j++]=i;(*n)++;}
68
填空 s[i] ’9’ *t=n
改错 t=*x; *x=y; return(t);
求出1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中。
int i,j=0; for(i=1;i<=1000;i++)
if((i%7==0||i%11==0) && i%77!=0) a[j++]=i; *n=j;
5
填空 a[i] a[i] 0
改错 y=1; d=a-i;
计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
int i; double s=0.0; for(i=1;i<=n;i++)
if(i%5==0||i%9==0) s+=1.0/i; return s;
11
填空 48 s++ sum
改错 if((k%13==0)||(k%17==0)) }
求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s。
double s=0.0; int i; for(i=0;i<n;i++)
if(i%3==0 && i%7==0) s=s+i; return sqrt(s);
字符串
14
填空 next t->data t
改错 void fun(char *a) printf("%c",*a);
比较两个字符串的长度,函数返回较长的字符串。
char *p,*t1=t,*s1=s; int n=0,m=0;
while(*s1++) n++; while(*t1++) m++;
if(n>=m) p=s; else p=t; return p;
20
填空 0 10*x n/10
改错 *t=0 if(d%2!=0)
实现两个字符串的连接(不使用库函数strcat)。
char *p=p1;while(*p)p++; while(*p2) *p++=*p2++; *p=0;
21
填空 [N] i i+1
改错 aa[i]=m%k; printf("%d",aa[i-1]);
从传入的num个字符串中找出最长的一个字符串。
int i,k=0,maxlen; maxlen=strlen(a[k]);
for(i=1;i<num;i++) {if(strlen(a[i])>maxlen)
{maxlen=strlen(a[i]); k=i;}} *max=a[k];
40
填空 double f1 f2
改错 char* fun(char *s,char *t)
ss++;
tt++;
移动字符串中的内容,把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
char b[N]; int i,j=0;
for(i=0;i<m;i++) b[j++]=w[i];
for(i=0;i<(int)strlen(w)-m;i++) w[i]=w[i+m];
for(j=0;j<m;j++) w[i++]=b[j]; w[i]='\0';
76
填空 i+1 k=j t
改错 void fun(char *str,char ch)
if(*str!=ch) str[1]=0;
字符串中的内容逆置。
char b[N]; int i=0,j; memset(b,0,N);
for(j=strlen(s)-1;j>=0;j--) b[i++]=s[j]; strcpy(s,b);
77
填空 double f1 f2
改错 p=h->next; p=p->next;
判断字符串是否为回文。
int i,n=0,flag=1; char *p=str; while(*p++) n++;
for(i=0;i<n/2;i++) if(str[i]==str[n-1-i]) continue;
else {flag=0;break;} return flag;
74
填空 ss[i] n+j 1
改错 if(*p==' ') *(p-1)=toupper(*(p-1));
对长度为7个字符的字符串,除首,尾字符外,将其他5个字符按ASCII码降序排列。
char t; int i,j; for(i=1;i<num-2;i++)
for(j=i+1;j<num-1;j++)if(s[i]<s[j]) {t=s[i];s[i]=s[j];s[j]=t;}
88
此为填空题题干,请查对:在带有头结点的单向链表中,查找数据域中值为ch的结点,找到后通过函数值返回该结点在链表中所处的次序号。
填空 NULL n head,ch
改错 for(i=0,t=0;p[i];i++) c[t]='\0';
将字符串ss中所有下标为奇数位置上的字母转换为大写。
int i; for(i=1;i<strlen(ss);i+=2)
if(ss[i]>='a'&&ss[i]<='z') ss[i]-=32;
17
此为填空题题干,请查对:将a所指4*3矩阵中第k行的元素与第0行的元素互换。
填空 k N a[k][i]
改错 for(i=strlen(t)-1;i;i--)
if(t[j]>t[j+1])
将字符串ss中所有下标为奇数位置上的字母转换为大写。
int i; for(i=1;i<strlen(ss);i+=2)
if(ss[i]>='a'&&ss[i]<='z') ss[i]-=32;
16
填空 0 || 1
改错 t-=1.0/i; return t;
删除字符串中的所有空格。
int i=0; char *p=str;
while(*p) {if(*p!=’ ’) str[i++]=*p; p++;}
str[i]=’\0’; return 0;
78
填空 k len ss[i][j]
改错 result*=n--; return result;
从字符串中删除指定的字符。同一字母的大、小写按不一样字符处理。
int i=0;char *p=s; while(*p)
{if(*p!=c) s[i++]=*p;p++;} s[i]=’\0’;
3
填空 t=i i 0
改错 while(fabs(t)>=num) t=s/n;
删除一个字符串中指定下标的字符。
int i,j=0; for(i=0;i<LEN;i++)
if(i!=n) b[j++]=a[i];b[j]=’\0’;
90
填空 data next head
改错 while(*r) *a=*r;a++;r++;
将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。
int i,j=0,n=strlen(s); for(i=0;i<n;i++)
if(i%2!=0) t[j++]=s[i]; t[j]=’\0’;
85
填空 STU std[i].num std[i]
改错 r++; p++; if(*r==’\0’)
将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
int i,j=0,n=strlen(s); for(i=0;i<n;i++)
if(s[i]%2!=0) t[j++]=s[i]; t[j]=’\0’;
98
填空 s[i] k 0
改错 while(*w) if(*r==*p)
将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
int i,j=0,n=strlen(s); for(i=0;i<n;i++)
if(s[i]%2==0) t[j++]=s[i]; t[j]=’\0’;
27
填空 j k p
改错 while(i<j) if(*a)
将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。
int i,j=0,n=strlen(s); for(i=0;i<n;i++)
if(!(i%2==0 && s[i]%2!=0)) t[j++]=s[i]; t[j]=0;
23
填空”r” fs ft
改错 if(d%2==0) s/=10;
哪个正确以哪个为准
填空 *n next head
改错 a=NULL; if(*r==*p)
将s所指字符串中除了下标为偶数,同时ASCII值也为偶数的字符外,其他的全都删除。
int i,j=0,n=strlen(s);
for(i=0;i<n;i++) if(i%2==0&&s[i]%2==0) t[j++]=s[i];
t[j]=’\0’;
49
填空 0 i++ 2.0*i
改错 void fun(char *s,char *t)
t[2*d]=’\0’;
将s所指字符串中除了下标为奇数,同时ASCII值也为奇数的字符之外,其他的所有字符都删除。
int i,j=0,n=strlen(s); for(i=0;i<n;i++)
if(i%2!=0 && s[i]%2!=0) t[j++]=s[i]; t[j]=0;
75
填空 j++ s[i]=t1[i] j
改错for(j=i+1;j<6;j++)
*(pstr+i)=*(pstr+j);
求出ss所指字符串中指定字符的个数。
int n=0; while(*ss)
{if(*ss==c) n++;ss++;} return n;
99
填空 [N] len *n=len
改错 t+=1.0/i; return t;
统计一个长度为2的字符串在另一个字符串中出现的次数。
int n=0; char *p,*r; while(*str)
{p=str; r=substr; while(*r)
if(*r==*p){r++; p++;} else break;
if(*r==‘\0’) n++;str++;} return n;
69
填空 1 s[k] c
改错 long s=0,t=0; t=t/10;
统计在字符串中‘a’到‘z’26个字母各自出现的次数,并依次放在pp所指数组中。
int i; for(i=0;i<26;i++) pp[i]=0;
while(*tt){if(*tt>='a'&& *tt<='z')
pp[*tt-'a']++;tt++;}
57
填空 filename fp fp
改错 p=(NODE*)malloc(sizeof(NODE));
return h;
统计一行字符串中单词的个数。
unsigned int i,n=0; for(i=0;i<strlen(s);i++)
if(s[i]>=’a’&&s[i]<=’z’&&s[i+1]==’ ’||s[i+1]=='\0’) n++; return n;
107
填空 b[k] N/2 <
改错
int t[N] ,i, num=0;
t[num++]=b[i];
for(i=0; i<num; i++)
哪个成果正确以哪个为准
请编写函数fun,其功效是:统计s所指字符串中的数字字符个数,并作为函数值返回。
int n=0;char *p=s;
while(*p) {if(*p>='0'&&*p<='9') n++;p++;}
return n;
106
填空 b[k] i <
改错 int t[N] ,i, num;
t[num++]=b[i];
for(i=0; i<num; i++)
哪个成果正确以哪个为准
请编写函数fun,其功效是:统计s所指向字符串中的数字字符个数,并作为函数值返回。
int fun(char *s) {int i,num=0;
for(i=0;s[i]!='\0';i++) if(s[i]>='0'&&s[i]<='9')
num++; return num; }
105
填空 pb p->data p->next
改错 int i, one=0, zero=0;
switch( s[i] )
case 0:zero++;break;
请编写函数fun,其功效是将形参s所指的字符串放入形参a所指的字符数组中,使a中存储同样的字符串。
while(*a++=*s++); a--;
104
填空 i%5 \n a[i]
改错 return t;
for(i=0;i<N;i++) t[i]=x[i];
x[i+1]=findmid(a,b,c);
请编写函数fun,函数的功效是查找x在s所指数组中下标的位置作为函数值返回,若x不存在,则返回-1
int i; for(i=0;i<N;i++)
{if(x==s[i]) return i;} return -1;
103
填空 0 t (t-1)*(t+2)/2
改错 b[i]=0;
b[a[i] - 'a']++;
if (b[max] <b[i])
请编函数fun,其功效是将一个数字字符串转换成与其面值相同的长整型整数。可调strlen函数求字符串长度。
int len, t; long x=0; len=strlen(s);
if(s[0]=='-') { t=-1; len--; s++; } else t=1;
while(*s) x = x*10-48+(*s++); return x*t;
102
填空 pb p->data p->next
改错 int i, one=0, zero=0 ;
switch( s[i] )
case 0 : zero++;break;
请编写函数fun,其功效是将形参s所指向的字符串放入形参a所指向的字符数组中,使a中存储同样的字符串。
#include <string.h> #define N 20 void NONO();
void fun( char *a , char *s) {strcpy(a,s);}
91
填空 next NULL r
改错 r=t; if(*r==0)
将放在字符串数组中的M个字符串,按次序合并组成一个新的字符串。
int i,j,k=0;for(i=0;i<M;i++)
{for(j=0;j<N;j++) if(a[i][j])
b[k++]=*(*(a+i)+j); else break;} b[k]=’\0’;
平均分和结构体
92
填空 x p s
改错 long k=1; num/=10;
计算n门课程的平均分。
float aver=0.0; int i;for(i=0;i<n;i++)
aver+=a[i]; aver/=n; return aver;
13
填空 j 0 i++
改错 for(i=2;i<=m;i++) y-=1.0/(i*i);
m个人成绩存储在score数组中,将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。
int i,k=0,aver=0;for(i=0;i<m;i++)
aver+=score[i]; aver/=m;
for(i=0;i<m;i++)if(score[i]<aver)
below[k++]=score[i]; return k;
48
填空 char ch<=’9’ ’0’
改错 b[k]=*p;
b[k++]=' ';(两个单分号间有空格)
N名学生的成绩已在一个带头节点的链表结构中,求出平均分。
float aver=0.0; while(h!=NULL)
{aver+=h->s;h=h->next;} return aver/N;
81
填空 fp == fp
改错 n=strlen(aa); ch=aa[i];
N名学生的成绩已放入一个带头节点的链表结构中,h指向链表的头结点,找出学生的最高分。
double max=h->s;
for(h=h->next;h->next!=NULL;h=h->next)
if(h->s>max) max=h->s; return max;
56
填空 a[i] a[j] a[j]
改错 去掉switch(g)后边分号
case 1:(冒号) case 2: return 1;
某学生的统计由学号,8门课程成绩和平均分组成,求出该学生的平均分放在统计的ave组员中。
double av=0.0; int i; for(i=0;i<N;i++)
av+=a->s[i]; av/=N; a->ave=av;
51
填空 *a 2 i+1
改错 sum=0.0; if((i+1)%5==0)
学生的统计由学号和成绩组成,把低于平均分的学生数据放在b所指的数组中。
double aver=0.0; int i,j=0;
for(i=0;i<N;i++) aver+=a[i].s; aver/=N;
for(i=0;i<N;i++) if(a[i].s<aver)
b[j++]=a[i]; *n=j; return aver;
43
填空 ->sno ->name &t
改错 double fun(double a,double x0)
if(fabs(x1-x0)>0.00001)
学生的统计由学号和成绩组成,把高于等于平均分的学生数据放在b所指的数组中。
int i,j=0; double aver=0.0;
for(i=0;i<N;i++) aver+=a[i].s;
aver/=N; for(i=0;i<N;i++)
if(a[i].s>=aver) b[j++]=a[i]; *n=j; return aver;
86
填空 std[i].year std[i] n
改错 去掉IsPrime(int n)后边的分号
if(!(n%i))
已知学生的统计由学号和学习成绩组成,找出成绩最高的学生统计(要求只有一个最高分)。
int i,max=a[0].s; for(i=0;i<N;i++)
if(a[i].s>max){max=a[i].s; *s=a[i];}
22
填空 0 x[i]/N j++
改错 double fun(int m)
for(i=100;i<=m;i+=100)
已知学生的统计由学号和学习成绩组成,找出成绩最低的学生统计(要求只有一个最低分)。
int i,min=a[0].s; for(i=0;i<N;i++)
if(a[i].s<min){min=a[i].s; *s=a[i];}
4
填空 1 i a[p+i]
改错 float k; if(*a<*c)
学生的统计由学号和成绩组成,把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生也许不止一个。
int i,j=0,n=0,max=a[0].s;
for(i=0;i<N;i++) if(a[i].s>max) max=a[i].s;
for(i=0;i<N;i++) if(a[i].s==max)
{b[j++]=a[i];n++;} return n;
7
填空 *fw str str
改错void fun (long s, long *t)
sl = sl*10
哪个正确以哪个为准
填空 struct student a.name a.score[i]
改错 if(p==n) return -1; a[i]=a[i+1];
学生的统计由学号和成绩组成,把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生也许不止一个。
int i,j=0,n=0,min=a[0].s; for(i=0;i<N;i++)
if(a[i].s<min) min=a[i].s;
for(i=0;i<N;i++) if(a[i].s==min)
{b[j++]=a[i];n++;} return n;
52
填空 n/2 i a[n-1-i]
改错 n=*p-'0'; n=n*8+*p-'0';
学生的统计由学号和成绩组成,函数返回指定学号的学生数据,若没找到指定学号,在结构体中给学号置空串,给成绩置-1。
int i; STREC h; for(i=0;i<N;i++)
if(strcmp(a[i].num,b)==0) {h=a[i];break;}
else {strcpy(h.num,""); h.s=-1;} return h;
2
填空 999 t/10 x
改错 void fun(long s,long *t) while(s>0)
学生统计由学号和成绩组成,按分数高低排列学生的统计,高分在前。
int i,j; STREC t; for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++) if(a[i].s<a[j].s)
{t=a[i];a[i]=a[j];a[j]=t;}
62
填空 struct student
n-1 a[i].name,a[j].name
改错 q=p+i; while(q>p)
学生的统计由学号和成绩组成,把指定分数范围内的学生数据放在b所指的数组中,学生人数由函数值返回。
int i,j=0; for(i=0;i<N;i++)
if(a[i].s>=l&&a[i].s<=h) b[j++]=a[i]; return j;
101
填空 a[i] m%10 m/10
改错 b[i]=a[i][0];
for (j=1; j<N; j++)
if ( b[i] >a[i][j] )
请编写函数fun,其功效是:将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回。
double max,min,pjz; int i; max = min=a[0];
for(i=1;i<n;i++) {if(max<a[i]) max=a[i];
if(min>a[i]) min=a[i]; } for(i=0,pjz=0;i<n;i++)
pjz+=a[i]; return (pjz-max-min)/(n-2);
二维数组
82
填空 *std PERSON std
改错 int k,q,i; pt[i]=str[k][i];
使数组左下半三角元素中的值所有置成0。
int i,j; for(i=0;i<N;i++)
for(j=0;j<=i;j++) a[i][j]=0;
87
填空 STU score[i] &std
改错 if(k>0) else if(k==0)
使数组左下半三角元素中的值乘以n。
int i,j; for(i=0;i<N;i++)
for(j=0;j<=i;j++) a[i][j]=a[i][j]*n; return 0;
42
填空 *av i x[j]
改错 float fun(int n) for(i=2;i<=n;i++)
使数组右上半三角元素中的值乘以m。
int i,j; for(j=0;j<N;j++)
for(i=0;i<=j;i++) a[i][j]=a[i][j]*m;
19
填空 N break n
改错 sum=0; scanf("%d",&a[i][j]);
实现矩阵(3行3列)的转置。(即行列互换)
int i,j,t; for(i=0;i<3;i++)
for(j=0;j<=i;j++) {t=array[j][i];
array[j][i]=array[i][j]; array[i][j]=t;}
35
填空 && ’\0’ s[j]
改错 for(i=2;i<=m;i++)
y+=1.0/(i*i);
注意:第二处错误1.0中间不能有空格
实现B=A+A’,即把矩阵A加上矩阵A的转置,存储在矩阵B中。
int i,j,t,at[3][3]; for(i=0;i<=2;i++)
for(j=0;j<=2;j++) at[i][j]=a[j][i];
for(i=0;i<3;i++)
for(j=0;j<3;j++) b[i][j]=a[i][j]+at[i][j];
26
填空 x[i]/N j++ i++
改错 num[k]=0; switch(*s)
求出二维数组周围元素之和。
int i,j,s=0; for(j=0;j<N;j++)
s+=a[0][j]+a[M-1][j]; for(i=1;i<=M-2;i++)
s+=a[i][0]+a[i][N-1]; return s;
46
填空 s/N j++ -1
改错 #include <stdio.h> void upfst(char *p)
求出数组周围元素的平均值。
int i,j,k=0; double s=0.0;for(j=0;j<N;j++)
{s+=w[0][j]+w[N-1][j]; k+=2;}for(i=1;i<=N-2;i++)
{s+=w[i][0]+w[i][N-1]; k+=2;} return s/k;
79
填空 h->next p->next >
改错 p=h->next; p=p->next;
将M行N列的二维数组中的数据,按行的次序依次放到一维数组中。
int i,j; for(i=0;i<mm;i++)
for(j=0;j<nn;j++) {b[*n]=s[i][j]; (*n)++;}
67
填空 NODE* next r
改错 if(i%2||s[i]%2==0) t[j]='\0';
将M行N列的二维数组中的数据,按列的次序依次放到一维数组中。
int i,j; for(j=0;j<nn;j++)
for(i=0;i<mm;i++) {b[*n]=s[i][j]; (*n)++;}
73
填空 FILE* fp ch
改错 s[j++]=s[i]; s[j]='\0';
将M行N列的二维数组中的字符数据,按列的次序依次放到一个字符串中。
for(j=0;j<M;j++) {b[n]=s[j][i]; n=i*M+j+1;}
素数
39
填空 i t++ count
改错 int fun(int a,int b,int c)
else return 1;
计算并输出3到n之间所有素数的平方根之和。
int m,k,i; double s=0.0;
for(m=3;m<=n;m++) {k=sqrt(m);
for(i=2;i<=k;i++) if(m%i==0) break;
if(i>=k+1) s+=sqrt(m);} return s;
31
填空 a[0][i] < x,y
改错 void fun(int *x,int *y) t=*x;*x=*y;*y=t;
求出小于或等于lim的所有素数放在aa数组中,返回所求出的素数的个数。
int i,j,k=0; for(i=2;i<lim;i++)
{ for(j=2;j<=(i/2);j++) if(i%j==0) break;
if(j>(i/2))aa[k++]=i; } return k;
8
填空 s -- return 0
改错 double fun(int n)
c=a;a+=b;b=c;
将不小于形参m且紧靠m 的k个素数存入xx所指的数组中。
int g=0,i,j,flag=1; for(i=m+1;1;i++)
{for(j=2;j<i;j++) {if(i%j!=0) flag=1;
else {flag=0;break;}} if(flag==1&&j>=i)
{if(k>=0){xx[g++]=i;k--;} else break;} }
80
填空 M < k
改错
if(('a'<=tt[i])&&(tt[i]<='z'))
tt[i]-=32;
将所有不小于1小于整数m的非素数存入xx所指数组中。
int i,j,t=0; for(i=4;i<m;i++)
for(j=2;j<i;j++)
展开阅读全文