全国计算机二级题库
a 与 b 合并成 c
85填空 STYPE FILE fp将 a 数的十位和个位数依次放在 c 数的千位和十位上,b改错 for(i=0;i<=sl;i++) 数的十位和个位数依次放在 c 数的百位和个位上。4152
t[sl*2]='\0'; *c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;
56填空 *fw str str将 a 数的十位和个位数依次放在 c 数的个位和百位上,b
改错 void fun(long s,long *t) sl=sl*10; 数的十位和个位数依次放在 c 数的千位和十位上。1524
*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;
22填空 fp fclose(fp) fname将 a 数的十位和个位数依次放在 c 数的个位和百位上,b改错 for(i=j+1;i
score[i]将 a 数的十位和个位数依次放在 c 数的百位和个位上,ba 数的十位和个位数依次放在 c 数的十位和千位上。2415 改错 char* fun(char (*sq)[M]) *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10; return sp;
整除
26填空 q next next求出 1 到 m 之内(含 m)能被 7 或 11 整除的所有整数放在改错 p=j; p=i; 数组 a 中。
int i,j=0; *n=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0) {a[j++]=i;(*n)++;}
28填空 s[i] ’9’ *t=n求出 1 到 1000 之内能被 7 或 11 整除,但不能同时被 7 和改错 t=*x; *x=y; return(t); 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;
计算并输出 n(包括 n)以内能被 5 或 9 整除的所有自然数 34填空 a[i] a[i] 0
改错 y=1; d=a-i; 的倒数之和。
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;
48填空 ’0’ s++ sum求 n 以内(不包括 n)同时能被 3 与 7 整除的所有自然数之改错 if((k%13==0)||(k%17==0)) } 和的平方根 s。
double s=0.0; int i;
for(i=0;idata t比较两个字符串的长度,函数返回较长的字符串。改 错 void fun(char *a) char *p,*t1=t,*s1=s;int n=0,m=0;
while(*s1++) n++; printf("%c",*a);
while(*t1++) m++;
if(n>=m) p=s;
else p=t;
return p;
35填空 [N] i i+1从传入的 num 个字符串中找出最长的一个字符串。改 错 aa[i]=m%k; int i;max=a[0]; for(i=0;inext; p=p->next; int i,n=0,flag=1;char *p=str;
while(*p++) n++;
for(i=0;i='a'&&ss[i]<='z'&&i%2!=0) ss[i]-=32;
ss[i]='\0';
65将 a 所指 4*3 矩阵中第 k 行的元素与第 0将字符串 ss 中所有下标为奇数位置上的字母转换为大行的元素交换。填空 k N a[k][i] 写。
int i,n=0; char *p=ss; 改错 for(i=strlen(t)-1;i;i--)
while(*p++) n++; if(t[j]>t[j+1])
for(i=0;i='a'&&ss[i]<='z'&&i%2!=0) ss[i]-=32;
ss[i]='\0';
删除字符串中的所有空格。 10填空 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’;
89填空 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’;
31填空 t=I I ’\0’删除一个字符串中指定下标的字符。改错 while(fabs(t)>=num) t=s/n; Int I,j=0;
for(i=0;i='a'&& *tt<='z') pp[*tt-'a']++;tt++;}
3填空 filename fp fp统计一行字符串中
单词
英语单词 下载七年级上册英语单词表下载英语单词表下载深圳小学英语单词表 下载高中英语单词 下载
的个数。改错 p=(NODE*)malloc(sizeof(NODE)); int i,n=0;
return h; for(i=0;i= ’ a ’ &&s[i]<= ’ z ’ &&s[i+1]== ’’
||s[i+1]=='\0’) n++;
return n;
平均分和结构体
40填空 x p s计算 n 门课程的平均分。
改错 long k=1; num/=10; float aver=0.0; int i;
for(i=0;is;h=h->next;}
return aver/N;
15填空 fp == fpN 名学生的成绩已放入一个带头节点的链表结构中,h改错 n=strlen(aa); ch=aa[i]; 指向链表的头结点,找出学生的最高分。
double max=h->s;
for(h=h->next;h->next!=NULL;h=h->next)
if(h->s>max) max=h->s;
return max;
某学生的
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
由学号,8 门课程成绩和平均分组 57填空 a[i] a[j] a[j]
改错 switch(g) case 1: case 2: return 1; 成,求出该学生的平均分放在记录的 ave 成员中。
double av=0.0; int i;
for(i=0;is[i]; av/=N;
a->ave=av;
学生的记录由学号和成绩组成,把低于平均分的 88填空 *a 2 i+1
改错 sum=0.0; if((i+1)%5==0) 学生数据放在 b 所指的数组中。
double aver=0.0; int i,j=0;
for(i=0;isno ->name &t学生的记录由学号和成绩组成,把高于等于平均
分的学生数据放在 b 所指的数组中。 int 改错 double fun(double a,double x0)
i,j=0; double aver=0.0; if(fabs(x1-x0)>0.00001)
for(i=0;i=aver) b[j++]=a[i]; *n=j;
return aver;
74填空 std[i].year std[i] n已知学生的记录由学号和学习成绩构成,找出成改错 IsPrime(int n) if(!(n%i)) 绩最高的学生记录(规定只有一个最高分)。
int i,max=a[0].s; for(i=0;imax){max=a[i].s;*s=a[i];}
70填空 0.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;imax) max=a[i].s;
for(i=0;i0) int i,j; STREC t;
for(i=0;ip)
int i,j=0; for(i=0;i=l&&a[i].s<=h) b[j++]=a[i];
return j;
二维数组
60填空 *std PERSON std使数组左下半三角元素中的值全部置成 0。改错 int k,q,i; pt[i]=str[k][i]; int i,j; for(i=0;i0) else if(k==0) int i,j;
for(i=0;i void int i,j,k=0;double s=0.0; upfst(char *p) for(j=0;jnext p->next >将 M 行 N 列的二维数组中的数据,按行的顺序依次放到改错 p=h->next; p=p->next; 一维数组中。 int
i,j;
for(i=0;i=k+1) s+=sqrt(m);}
return s;
23填空 a[0][i] < x,y求出小于或等于 lim 的所有素数放在 aa 数组中,返回
所求出的素数的个数。 改 错 void fun(int *x,int *y)
for(j=2;j=i) aa[k++]=i;
55填空 s -- return 0将大于整数 m 且紧靠 m 的 k 个素数存入 xx 所指的数组中。
改错 double fun(int n) int g=0,i,j,flag=1;
c=a;a+=b;b=c; for(i=m+1;1;i++)
{for(j=2;j=i)
{if(k>=0){xx[g++]=i;k--;}
else break;} }
79填空 M < k将所有大于 1 小于整数 m 的非素数存入 xx 所指数组中。
int i,j,t=0; 改 错
for(i=4;i=xa) int i; float p,t=1.0; for(i=1;i<=m;i++)
t=t*i; p=t; for(t=1.0,i=1;i<=n;i++)
t=t*i; p=p/t; for(t=1.0,i=1;i<=m-n;i++)
t=t*i; p=p/t; return p;
90填空 j=2 i j 1 1 1 1 1S, (1 , ) , ( , ) , , , , , ( , ) 改 错 sum=j=0; n 2 3 4 2n ,1 2n if(sum%4==2) int i; double s=0.0;
for(i=1;i<=n;i++) s+=(1.0/(2*i-1)-1.0/(2*i));
return s;
47填空 *s 1 k[n]1 1 1 s , , , , , , , 改错 double fun(int k) 1 , 2 2 , 3 n(n , 1) return s; int i; double s=0.0;
for(i=1;i<=n;i++) s+=1.0/(i*(i+1));
return s;
87填空 n%10 break break 1 1 1 S , 1 , , , , , , ,改 错 if(t==0) 1 , 2 1 , 2 , 3 1 , 2 , 3 , , , , , 50 *zero=count; int i; double s=1.0,t=1.0;
for(i=2;i<=n;i++) {t*=i;s+=1.0/t;} return s;
100填空 ’\0’ 0 c 1 1 1S , 1 , , , ? , 改错 double sum=0.0; 1 , 2 1 , 2 , 3 1 , 2 , 3 , ? , n sum/=c; int i; float s=1.0,t=1.0; for(i=2;i<=n;i++) {t+=i;s+=1.0/t;} return s; 94填空 1.0 -1.0 t 11111s, 1 , , , , , ... , n 改错 for(i=1;i<=3;i++) 1! 2! 3! 4! n! if(k>=0&&k<=6) int i; double t=1.0,s=1.0;
for(i=1;i<=n;i++) {t*=i; s+=1.0/t;} return s;
2 3 n 46填空 i ps[j] tp xxx S ,1 , x ,,, , , , ,改错 double fun(int n) 2! 3! n! return sum; int i,j; double s=1.0,p=1.0,t=1.0; for(i=1;i<=n;i++) {t=t*i;p=p*x;s+=p/t;} return s;
0.5 96填空 0 j-- js=(ln(1)+ln(2)+ln(3)+…+ln(m))。 int i; double s=0.0,log(double x); 改错 double f(double x) for(i=1;i<=m;i++) s+=log((double)i); return s; return sqrt(s); 0(50(50(50(50(50(5 S=1+(1+2)+(1+2+3)+…+(1+2+3+…+n) 84填空 a a b 改错 c=c+32; c=c+5; int i; double s=1.0,p=1.0;
for(i=2;i<=n;i++) {p+=sqrt(i);s+=p;} return s;
27填空 0.0 n (t*t) 1, 2 , 3 , 4 ,? , 2 , 3 , 4 , 1 1, 2 1, 2 , 3 1, , 1 , , , , , ? ,改 错 2 3 3 , 5 3 , 5 , 7 3 , 5 , 7 , 92n 3 , 5 , 7 , 9 ,?, ( for(i=0;str[i];i++) double s=1.0; float t=1,pi=0,n=1.0; while((fabs(s))>=eps) {pi+=s;t=n/(2*n+1);s*=t;n++;}
if(substr[k+1]=='\0') return pi*2;
53填空 x n fabs(t) 0.5(0.5 , 1) 0.5(0.5 , 1)(0.5 , 2) 2 3S , 1 , 0.5x , x , x , ? n 改错 for(i=1;i<=y;i++) 2! 3! t=t%1000;
2) ?(0.5 , n , 1) 0.5(0.5 ,1)(0.5 , n , x n!
double s1=1.0,p=1.0,s=0.0,s0,t=1.0; int n=1;
do{s0=s1;s+=s0;t*=n;p*=(0.5-n+1)*x;s1=p/t;n++;}
while(fabs(s1-s0)>=1e-6);
return s;
92填空 1.0 1 i计算给定 10 个数的方差:
0.5 改错 k=i; c=k%10; 10 10 1, , ' 2 1 'S , ( X , X ) , K , , x , x , k10 ,K ,1 , k ,110
int i,j; double s=0.0,s1=0.0; for(i=0;i<10;i++)
s1+=x[i]; s1/=10; for(j=0;j<10;j++) s+=(x[j]-
s1)*(x[j]-s1); s/=10;
return sqrt(s);
计算给定整数 n 的所有因子之和。 61填空 && ’A’ ch
改错 void fun(int *a) int s=0,i;
a[j]=a[j-1]; for(i=2;i<=n-1;i++)
if(n%i==0) s+=i;
return s;
计算并输出给定数组(长度为 9)中每相邻两个元素之平均值的平方 91填空 x n t
改错 d=1;s=0; d=d/10; 根之和。
double s=0.0; int i,j=1;
for(i=0;i<9;i++)
if(j<=8) {s+=sqrt((x[i]+x[i+1])/2.0);j++;}
return s;
63填空 i++ m m利用简单迭代方法求方程 cos(x)-x=0 的一个实根。Xn+1=cos(Xn)
float x1=0.0,x0; 改 错
do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6); while((high>=2)&&(n<10))
return x1; yes=0;break;
52填空 N N-1 0求 Fibonacci 数列中大于 t 的最小的一个数。
改 错 int a=1,b=1,c=0,i;
s=s+(double)(n+1)/n; for(i=4;i<=t;i++)
return t; {if(ca[m]) m=k; while(t>10) {if(t/10) p=t%10;s+=p*sl;sl*=10;t/=10;}
return s;
69填空 ’ 0 ’ s++对变量 h 中的值保留 2 位小数,并对第三位进行四舍五入。
ctod(a)+ctod(b)int t; float f;
改 错 void fun(char t=(int)h; f=h-t;
*s,int *a,int *b) if((int)(f*1000)%10>=5) f=((int)(f*100)%100+1)/100.0;
*a=*a+1; else f=((int)(f*100))/100.0;
*b=*b+1; return t+f;
58填空 t,s s[i] ’\0’求出能整除 x 且不是偶数的各整数,并按从小到大的顺序放在 pp 所
改 错 if(i%k==0) 指的数组中。
int i,j=0,k=0,*t=pp; if(k>=i)
for(i=1;i<=x;i++)
if(i%2!=0) t[j++]=i;
for(i=0;i0.001) while(*q && q < h) a[j++] = *q++ ;
while(*h && *p && h < p) {
if(*h != '*') a[j++] = *h ;
h++;
}
while(*p) a[j++] = *p++ ;
a[j] =’\0’ ;
43填空 N i -1将字符串尾部的*号全部删除,前面和中间的*号不删除。 改错 a2=k/10; return i; int i=0;char *p,*q;p=q=a;
while(*p) p++;p--;
while(*p==‘*’) p--;
while(q<=p) a[i++]=*q++;a[i]=’\0’;
37填空 N substr 0只删除字符串前导和尾部的*号,串中字母之间的*号都不删
改错 int fun(int x,int y,int z) 除。
return j; int i=0;char *p;
for(p=a+h;pa[mid]) while(q<=p) {if(*q!=‘*’) a[i++]=*q;q++;}
while(*q) a[i++]=*q++;a[i]=’\0’;
39填空 N k ss[i]除了字符串前导的*号之外,将串中其他*号全部删除。改错 int k=0; while(*p||*q) int i=0;char *p=a;
while(*p&&*p==‘*’) a[i++]=*p++;
while(*p)
{if(*p!=‘*’) a[i++]=*p;p++;}
a[i]=’\0’;
32填空 [M] N ’\0’使字符串的前导*号不得多于 n 个;若多于 n 个,则删除多余的*改错 t=1; return(2*s); 号;若少于或等于 n 个,则什么也不做,字符串中间和尾部的*号
不删除。
int i=0,k=0;char *t=a;
while(*t==‘*’){k++;t++;}
if(k>n) t=a+k-n;
while(*t) a[i++]=*t++;a[i]=’\0’;
使字符串中尾部的*号不得多于 n 个;若多于 n 个,则删除多余 45填空 a[i]%2 a[j] j
改错 fun(int n) if(n==1) 的*号;若少于或等于 n 个,则什么也不做,字符串中间和前面的
*号不删除。
int i=0,k=0;char *p,*t;p=t=a;
while(*t) t++;t--; while(*t==
‘*’){k++;t--;} t++;
if(k>n){while(*p&&p*max) {*max=a[i];*d=i;}
51填空 n++ 0 s++求出数组的最大元素在数组中的下标并存放在 k 所指的存储改错 t+=s[k]; *aver=ave; 单元中。
int i,max=s[0];
for(i=0;imax){max=s[i];*k=i;}
求出—个 2×M 整型二维数组中最大元素的值。 73填空 3.0 > (2*i+1)
改 错 double fun (int n) int i,j,max=a[0][0];
s=s+(double)a/b; for(i=0;i<2;i++)
for(j=0;jmax) max=a[i][j];
return max;
66填 空 std[0] std[i].agett 指向一个 M 行 N 列的二维数组,求出二维数组每列中最小max.name 元素,并依次放入 pp 所指一维数组中。 改错 void fun(int *a,int *b) int i,j,min;
t=*b;*b=*a;*a=t; for(j=0;jnext q p->next移动一维数组中的内容,若数组中有 n 个整数,要求把下标
从 0 到 p 的数组元素平移到数组的最后。 改错 while(*s!='\0') s++;
int b[]={0,0,0,0,0,0,0,0,0,0},i,j=0;
for(i=0;i<=p;i++) b[i]=w[i];
for(i=p+1;i=n) a[j]=t;
return j;
4填空 ”rb” > fwrite统计各年龄段的人数。
改错 p=s; while(*p++); int i,j;
for(j=0;j=0 && a[i]<=99) b[a[i]/10]++;
else if(a[i]>=100) b[10]++;