计算机二级C上机题库答案分类汇总Word文件下载.docx

上传人:b****5 文档编号:18348967 上传时间:2022-12-15 格式:DOCX 页数:50 大小:64.71KB
下载 相关 举报
计算机二级C上机题库答案分类汇总Word文件下载.docx_第1页
第1页 / 共50页
计算机二级C上机题库答案分类汇总Word文件下载.docx_第2页
第2页 / 共50页
计算机二级C上机题库答案分类汇总Word文件下载.docx_第3页
第3页 / 共50页
计算机二级C上机题库答案分类汇总Word文件下载.docx_第4页
第4页 / 共50页
计算机二级C上机题库答案分类汇总Word文件下载.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

计算机二级C上机题库答案分类汇总Word文件下载.docx

《计算机二级C上机题库答案分类汇总Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机二级C上机题库答案分类汇总Word文件下载.docx(50页珍藏版)》请在冰豆网上搜索。

计算机二级C上机题库答案分类汇总Word文件下载.docx

19

填空structstudent*a->

score[i]a

改错char*fun(char(*sq)[M])returnsp;

将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。

2415

*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;

整除

26

填空qnextnext

改错p=j;

p=i;

求出1到m之内(含m)能被7或11整除的所有整数放在数组a中。

inti,j=0;

*n=0;

for(i=1;

=m;

i++)

if(i%7==0||i%11==0){a[j++]=i;

(*n)++;

}

28

填空s[i]’9’*t=n

改错t=*x;

*x=y;

return(t);

求出1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中。

=1000;

if((i%7==0||i%11==0)&

&

i%77!

=0)a[j++]=i;

*n=j;

34

填空a[i]a[i]0

改错y=1;

d=a-i;

计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。

inti;

doubles=0.0;

=n;

if(i%5==0||i%9==0)s+=1.0/i;

returns;

48

填空’0’s++sum

改错if((k%13==0)||(k%17==0))}

求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s。

doubles=0.0;

inti;

for(i=0;

if(i%3==0&

i%7==0)s=s+i;

returnsqrt(s);

字符串

93

填空nextt->

datat

改错voidfun(char*a)printf("

%c"

*a);

比较两个字符串的长度,函数返回较长的字符串。

char*p,*t1=t,*s1=s;

intn=0,m=0;

while(*s1++)n++;

while(*t1++)m++;

if(n>

=m)p=s;

elsep=t;

returnp;

35

填空[N]ii+1

改错aa[i]=m%k;

aa[i-1]);

从传入的num个字符串中找出最长的一个字符串。

inti;

max=a[0];

num;

if(strlen(max)<

strlen(a[i]))max=a[i];

returnmax;

75

填空i+1k=jt

改错voidfun(char*str,charch)

if(*str!

=ch)

str[1]='

字符串中的内容逆置。

chart;

inti,n;

n=strlen(s)-1;

i++){t=s[i];

s[i]=s[n-i-1];

s[n-i-1]=t;

14

填空doublef1f2

改错p=h->

next;

p=p->

判断字符串是否为回文。

inti,n=0,flag=1;

char*p=str;

while(*p++)n++;

n/2;

if(str[i]==str[n-1-i])continue;

else{flag=0;

break;

returnflag;

16

填空ss[i]n+j1

改错if(*p=='

'

)*(p-1)=toupper(*(p-1));

对长度为7个字符的字符串,除首,尾字符外,将其余5个字符按ASCII码降序排列。

inti,j;

num-2;

for(j=i+1;

j<

num-1;

j++)

if(s[i]<

s[j]){t=s[i];

s[i]=s[j];

s[j]=t;

98

在带有头结点的单向链表中,查找数据域中值为ch的结点,找到后通过函数值返回该结点在链表中所处的顺序号。

填空NULLnhead,ch

改错for(i=0,t=0;

p[i];

i++)c[t]='

将字符串ss中所有下标为奇数位置上的字母转换为大写。

inti,n=0;

char*p=ss;

while(*p++)n++;

if(ss[i]>

='

a'

ss[i]<

z'

i%2!

=0)ss[i]-=32;

ss[i]='

65

将a所指4*3矩阵中第k行的元素与第0行的元素交换。

填空kNa[k][i]

改错for(i=strlen(t)-1;

i;

i--)

if(t[j]>

t[j+1])

10

填空0||1

改错t-=1.0/i;

returnt;

删除字符串中的所有空格。

inti=0;

while(*p)

{if(*p!

=’’)str[i++]=*p;

p++;

str[i]=’\0’;

89

填空klenss[i][j]

改错result*=n--;

returnresult;

从字符串中删除指定的字符。

Inti=0;

char*p=s;

while(*p){if(*p!

=c)s[i++]=*p;

s[i]=’\0’;

31

填空t=II’\0’

改错while(fabs(t)>

=num)t=s/n;

删除一个字符串中指定下标的字符。

IntI,j=0;

LEN;

if(i!

=n)b[j++]=a[i];

b[j]=’\0’;

54

填空datanexthead

改错while(*r)*a=*r;

a++;

r++;

将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。

IntI,j=0,n=strlen(s);

if(i%2!

=0)t[j++]=s[i];

t[j]=’\0’;

25

填空STUstd[i].numstd[i]

改错r++;

p++;

if(*r==’\0’)

将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

if(s[i]%2!

18

填空s[i]k’\0’

改错while(*w)if(*r==*p)

将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

if(s[i]%2==0)t[j++]=s[i];

71

填空jkp

改错while(i<

j)if(*a)

将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。

if(!

(i%2==0&

s[i]%2!

=0))t[j++]=s[i];

36

填空*nnexthead

改错a=NULL;

if(*r==*p)

将s所指字符串中除了下标为偶数,同时ASCII值也为偶数的字符外,其余的全都删除。

if(i%2==0&

s[i]%2==0)t[j++]=s[i];

72

填空0i++2.0*i

改错voidfun(char*s,char*t)t[2*d]=’\0’;

将s所指字符串中除了下标为奇数,同时ASCII值也为奇数的字符之外,其余的所有字符都删除。

=0&

42

填空j++s[i]=t1[i]j

改错for(j=i+1;

6;

j++)*(pstr+i)=*(pstr+j);

求出ss所指字符串中指定字符的个数。

intcnt=0;

char*p=ss;

while(*p){if(*p==c)cnt++;

}

returncnt;

77

填空010*xn/10

改错*t=0;

if(d%2!

=0)

实现两个字符串的连接

voidfun(charp1[],charp2[])

{char*p=p1;

while(*p)p++;

while(*p2)*p++=*p2++;

*p=0;

}

68

填空[N]len*n=len

改错t+=1.0/i;

统计一个长度为2的字符串在另一个字符串中出现的次数。

intn=0;

char*p,*r;

while(*str)

{p=str;

r=substr;

while(*r)

if(*r==*p){r++;

elsebreak;

if(*r==‘\0’)n++;

str++;

returnn;

62

填空1s[k]c

改错longs=0,t=0;

t=t/10;

统计在字符串中‘a’到‘z’26个字母各自出现的次数,并依次放在pp所指数组中。

26;

i++)pp[i]=0;

while(*tt)

{if(*tt>

*tt<

)pp[*tt-'

]++;

tt++;

3

填空filenamefpfp

改错p=(NODE*)malloc(sizeof(NODE));

returnh;

统计一行字符串中单词的个数。

inti,n=0;

strlen(s);

if(s[i]>

=’a’&

s[i]<

=’z’&

s[i+1]==’’||s[i+1]=='

\0’)n++;

平均分和结构体

40

填空xps

改错longk=1;

num/=10;

计算n门课程的平均分。

floataver=0.0;

i++)aver+=a[i];

aver/=n;

returnaver;

59

填空j0i++

改错for(i=2;

i++)y-=1.0/(i*i);

m个人成绩存放在score数组中,将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。

inti,k=0,aver=0;

m;

i++)aver+=score[i];

aver/=m;

if(score[i]<

aver)below[k++]=score[i];

returnk;

44

填空charch<

=’9’’0’

改错b[k]=*p;

b[k++]='

N名学生的成绩已在一个带头节点的链表结构中,求出平均分。

while(h!

=NULL){aver+=h->

s;

h=h->

returnaver/N;

15

填空fp==fp

改错n=strlen(aa);

ch=aa[i];

N名学生的成绩已放入一个带头节点的链表结构中,h指向链表的头结点,找出学生的最高分。

doublemax=h->

for(h=h->

h->

next!

=NULL;

next)

if(h->

s>

max)max=h->

returnmax;

57

填空a[i]a[j]a[j]

改错switch(g)case1:

case2:

return1;

某学生的记录由学号,8门课程成绩和平均分组成,求出该学生的平均分放在记录的ave成员中。

doubleav=0.0;

N;

i++)av+=a->

s[i];

av/=N;

a->

ave=av;

88

填空*a2i+1

改错sum=0.0;

if((i+1)%5==0)

学生的记录由学号和成绩组成,把低于平均分的学生数据放在b所指的数组中。

doubleaver=0.0;

inti,j=0;

i++)aver+=a[i].s;

aver/=N;

if(a[i].s<

aver)b[j++]=a[i];

*n=j;

29

填空->

sno->

name&

t

改错doublefun(doublea,doublex0)

if(fabs(x1-x0)>

0.00001)

学生的记录由学号和成绩组成,把高于等于平均分的学生数据放在b所指的数组中。

doubleaver=0.0;

aver/=N;

if(a[i].s>

=aver)b[j++]=a[i];

74

填空std[i].yearstd[i]n

改错IsPrime(intn)if(!

(n%i))

已知学生的记录由学号和学习成绩构成,找出成绩最高的学生记录(规定只有一个最高分)。

inti,max=a[0].s;

max){max=a[i].s;

*s=a[i];

70

填空0.0x[i]/Nj++

改错doublefun(intm)for(i=100;

i+=100)

已知学生的记录由学号和学习成绩构成,找出成绩最低的学生记录(规定只有一个最低分)。

inti,min=a[0].s;

min){min=a[i].s;

99

填空1ia[p+i]

改错floatk;

if(*a<

*c)

学生的记录由学号和成绩组成,把分数最高的学生数据放在h所指的数组中,注意:

分数最高的学生可能不止一个。

inti,j=0,n=0,max=a[0].s;

max)max=a[i].s;

if(a[i].s==max){b[j++]=a[i];

n++;

returnn;

24

填空structstudenta.namea.score[i]

改错if(p==n)return-1;

a[i]=a[i+1];

学生的记录由学号和成绩组成,把分数最低的学生数据放在b所指的数组中,注意:

分数最低的学生可能不止一个。

inti,j=0,n=0,min=a[0].s;

min)min=a[i].s;

if(a[i].s==min){b[j++]=a[i];

97

填空n/2ia[n-1-i]

改错n=*p-'

0'

n=n*8+*p-'

学生的记录由学号和成绩组成,函数返回指定学号的学生数据,若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1。

STRECh;

if(strcmp(a[i].num,b)==0){h=a[i];

else{strcpy(h.num,"

"

);

h.s=-1;

82

填空999t/10x

改错voidfun(longs,long*t)while(s>

0)

学生记录由学号和成绩组成,按分数高低排列学生的记录,高分在前。

inti,j;

STRECt;

N-1;

a[j].s){t=a[i];

a[i]=a[j];

a[j]=t;

17

填空structstudentn-1a[i].name,a[j].name

改错q=p+i;

while(q>

p)

学生的记录由学号和成绩组成,把指定分数范围内的学生数据放在b所指的数组中,学生人数由函数值返回。

=l&

a[i].s<

=h)b[j++]=a[i];

returnj;

二维数组

60

填空*stdPERSONstd

改错intk,q,i;

pt[i]=str[k][i];

使数组左下半三角元素中的值全部置成0。

inti,j;

for(j=0;

=i;

j++)a[i][j]=0;

8

填空STUscore[i]&

std

改错if(k>

0)elseif(k==0)

使数组左下三角元素中的值乘以n。

j++)a[i][j]=a[i][j]*n;

41

填空*avix[j]

改错floatfun(intn)for(i=2;

使数组右上半三角元素中的值乘以m。

=j;

i++)a[i][j]=a[i][j]*m;

67

填空Nbreakn

改错sum=0;

scanf("

&

a[i][j]);

实现矩阵(3行3列)的转置。

inti,j,t;

3;

{t=array[j][i];

array[j][i]=array[i][j];

array[i][j]=t;

81

填空&

’\0’s[j]

i++)y+=1.0/(i*i);

实现B=A+A’,即把矩阵A加上矩阵A的转置,存放在矩阵B中。

inti,j,t,at[3][3];

=2;

j++)at[i][j]=a[j][i];

j++)b[i][j]=a[i][j]+at[i][j];

20

填空x[i]/Nj++i++

改错num[k]=0;

switch(*s)

求出二维数组周边元素之和。

inti,j,s=0;

j++)s+=a[0][j]+a[M-1][j];

=M-2;

i++)s+=a[i][0]+a[i][N-1];

21

填空s/Nj++-1

改错#include<

stdio.h>

voidupfst(char*p)

求出数组周边元素的平均值。

inti,j,k=0;

doubles=0.0;

j++){s+=w[0][j]+w[N-1][j];

k+=2;

=N-2;

i++){s+=w

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1