计算机二级C上机考试题库2.docx

上传人:b****5 文档编号:29756939 上传时间:2023-07-26 格式:DOCX 页数:13 大小:22.52KB
下载 相关 举报
计算机二级C上机考试题库2.docx_第1页
第1页 / 共13页
计算机二级C上机考试题库2.docx_第2页
第2页 / 共13页
计算机二级C上机考试题库2.docx_第3页
第3页 / 共13页
计算机二级C上机考试题库2.docx_第4页
第4页 / 共13页
计算机二级C上机考试题库2.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

计算机二级C上机考试题库2.docx

《计算机二级C上机考试题库2.docx》由会员分享,可在线阅读,更多相关《计算机二级C上机考试题库2.docx(13页珍藏版)》请在冰豆网上搜索。

计算机二级C上机考试题库2.docx

计算机二级C上机考试题库2

类型一:

调整一个数的个、十、百、千位

1.请编写函数fun,其功能是:

将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

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

例如,当a=45,b=12,调用该函数后c=4152。

填空:

STYPEFILEFp

改错:

for(i=0;i<=sl;i++)把s后字母改为小写L

t[2*sl]='\0';

2.c=1524。

填空:

*fwstrstr

改错:

voidfun(longs,long*t)

sl=sl*10;

3.c=2514。

填空:

fpfclose(fp)fname

改错:

for(i=j+1;i<=n-1;i++)

p=i;

4.c=5142。

填空:

"r"fsft

改错:

if(d%2==0)

s/=10;

5.c=5241。

填空:

kN-1temp

改错:

fun(inta[][M],intm)

a[j][k]=(k+1)*(j+1);

6.c=2415。

填空:

structstudent*a->score[i]a

改错:

char*fun(char(*sq)[M])

returnsp;

7.c=1425。

填空:

0xt++

改错:

inti,s1;s后面是小写的L

t[i]=s[sl-i-1];

8.c=4251。

填空:

1si*10

改错:

intfun(intn,intxx[][M])

printf("%d",xx[i][j]);

类型二:

与*号有关的操作

9.请编写函数fun,它的功能是:

将字符串中的前导*号全部删除,中间和尾部的*号不删除。

删除前导*号

填空:

[N]t[i][j]t[j][i]

改错:

#defineFU(m,n)((m)/(n))

return(value);

10.除尾部*号,其余*删除

填空:

t[][N]i=0;i

改错:

intfun(inta[],intm)

elseif(m>a[mid])

11.请编写函数fun,它的功能是:

除了字符串前导和尾部的*号之外,将串中其他*号全部删除。

只删除中间*号

intj=0;char*q=a;

while(*q&&q

while(*h&&*p&&h

{if(*h!

='*')a[j++]=*h;h++;}

while(*p)a[j++]=*p++;

a[j]=0;

填空:

sum=0t[i][i]1

改错:

doubler;

while(fabs(m-n)>0.001)

12.

删除串中所有*号

i

填空:

1j++j

改错:

t=a;a=b;b=t;

return(b);

13.

删除串尾*号

填空:

Ni-1

改错:

a2=k/10;

returni;

14.

除前导*外其他删除*

填空:

Nkss[i]

改错:

intk=0;

while(*p||*q)

15.

删除前导和尾部*

填空:

Nsubstr0

改错:

fun(intx,inty,intz)

returnj;

16.

串尾部*号不多于n个

填空:

a[i]%2a[j]j

改错:

fun(intn)

if(n==1)

17.前导*不多于n个

填空:

MN0

改错:

t=1;

return(2*s);

18.串前*移至串尾

填空:

ab.namescore[i]

改错:

s[j++]=s[i];

s[j]=0;

19.编写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址

(用****作为结束输入的标志)。

inti,k=0,maxlen;

maxlen=strlen(a[k]);

for(i=1;i

{if(strlen(a[i])>maxlen)

{maxlen=strlen(a[i]);k=i;}}

*max=a[k];

填空:

[N]ii+1

改错:

aa[i]=m%k;

printf("%d",aa[i-1]);

类型三:

与下标或ASCII码有关

20.请编写一个函数fun,它的功能是:

将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

下标奇数位置子母改大写

填空:

kNa[k][i]

改错:

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

if(t[j]>t[j+1])

21.请编写—个函数voidfun(char*ss),下标奇数位置子母改大写

c

填空:

NULLnhead,ch

改错:

for(i=0,t=0;p[i];i++)

c[t]='\0';

22.下标为偶数字符删除

填空:

datanexthead

改错:

while(*r)

*a=*r;a++;r++;

23.除首尾外其余ASCII码降序

填空:

ss[i]n+j1

改错:

if(*p=='')

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

24.

ASCII码值为偶数删除

填空:

STUstd[i].numstd[i]

改错:

r++;p++;

if(*r==0)

25.ASCII值为奇数删除

填空:

s[i]k'\0'

改错:

while(*w)

if(*r==*p)

26.除下标偶数同时ASCII码值偶数之外其余全部删除

i

填空:

*nnexthead

改错:

a=NULL;

if(*r==*p)

27.除下标奇数同时ASCII码也为奇数外其余字符删除

填空:

0i++2.0*i

改错:

voidfun(char*s,char*t)

t[2*d]=0;

28.将下标为偶数同时ASCII码为奇数删除

填空:

jkp

改错:

while(i

if(*a)

103.请编写函数fun,函数的功能是查找x在s所指数组中下标的位置作为函数值返回,若x不存在,则返回-1

填空:

i%5\na[i]

改错:

return t;

for(i=0;i

x[i+1]=findmid(a,b,c);

类型四:

数组和矩阵操作

29.请编写函数fun,该函数的功能是:

移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。

下标0-p移到数组最后

填空:

p->nextqp->next

改错:

while(*s)

s++;

30.删除一维数组相同的数

填空:

FILE*fclose(fp)fp

改错:

t=(STU*)calloc(sizeof(STU),m);

t[k]=b[j];

31.找出一维数组最大值及其下标

填空:

12*i(-1)

改错:

k++;

if(m==k)

32.求数组最大元素及下标

填空:

n++0s++

改错:

t+=s[k];

*ave=ave;

33.左下三角元素乘n

填空:

STUscore[i]&std

改错:

if(k>0)

elseif(k==0)

34.右上三角元素同乘m

填空:

*avix[j]

改错:

floatfun(intn)

for(i=2;i<=n;i++)

35.左下三角元素置0

填空:

*stdPERSONstd

改错:

intk,q,i;

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

36.二维数组每列最小元素

填空:

*stdstd[i].agemax.name

改错:

voidfun(int*a,int*b)

t=*b;*b=*a;*a=t;

37.求二维数组中最大元素的值

填空:

3.0>2*i+1

改错:

doublefun(intn)

s=s+(double)a/b;

38.矩阵转置

填空:

Nbreakn

改错:

sum=0;

scanf("%d",&a[i][j]);

39.按列顺序334455334455

填空:

NODE*nextr

改错:

if(i%2||s[i]%2==0)

t[j]=’\0’;

40.按行顺序3333333344444444

填空:

h->nextp->next>

改错:

p=h->next;

p=p->next;

41.按列顺序wshwshwsh

填空:

FILE*fpch

改错:

s[j++]=s[i];

s[j]='\0';.

42.数组周边元素的平均值

填空:

s/Nj++-1

改错:

#include

upfst(char*p)

43.二维数组周边元素之和

填空:

x[i]/Nj++i++

改错:

num[k]=0;

switch(*s)

44.B=A+A’

填空:

&&'\0's[j]

改错:

for(i=2;i<=m;i++)

y+=1.0/(i*i);

类型五:

学生分数操作

45.请编写一个函数fun,它的功能是:

计算n门课程的平均分,计算结果作为函数值返回。

例如:

若有5门课程的成绩是:

90.5,72,80,61.5,55,则函数的值为71.80。

n门课程平均分71.8

填空:

xps

改错:

longk=1;

num/=10;

46.N名学生的成绩的平均分,78.625

填空:

charch<='9''0'

改错:

b[k]=*p;

b[k++]=‘’;

47.8门课程平均分78.875

填空:

a[i]a[j]a[j]

改错:

switch(g)

case1:

case2:

return1;

48.找出成绩最高学生纪录(规定只有一个最高分)

填空:

std[i].yearstd[i]n

改错:

IsPrime(intn)

if(!

(n%i))

49.低于平均分的学生数据

填空:

*a2i+1

改错:

sum=0.0;

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

50.把分数最高学生数据放在b所指数组中,分数最高的学生可能不只一个

填空:

1ia[p+i]

改错:

floatk;

if(*a<*c)

51

找出学生最高分由函数值返回

填空:

fp==fp

改错:

n=strlen(aa);

ch=aa[i];

52.低于平均分的人作为函数值返回

填空:

j0i++

改错:

for(i=2;i<=m;i++)

y-=1.0/(i*i);

53.高于等于平均分的学生数据

填空:

->sno->name&t

改错:

doublefun(doublea,doublex0)

if(fabs(x1-x0)>0.00001)

54.

分数最低学生数据放在b所指数组

填空:

structstudenta.namea.score[i]

改错:

if(p==n)return-1;

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

55.找出成绩最低学生纪录

填空:

0x[i]/Nj++

改错:

doublefun(intm)

for(i=100;i<=m;i+=100)

56按分数高低排列学生纪录,高分在前

填空:

999t/10x

改错:

voidfun(longs,long*t)

while(s>0)

57.返回指定学号学生数据

填空:

n/2ia[n-i-1]

改错:

n=*p-'0';

n=n*8+*p-'0';

58.指定分数范围内的数据

填空:

structstudent

n-1

a[i].name,a[j].name

改错:

q=p+i;

while(q>p)

类型六:

字符和字符串操作

59.请编写一个函数fun,它的功能是:

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

若两个字符串长度相同,则返回第一个字符串。

返回较长字符串

填空:

nextt->datat

改错:

fun(char*a)

printf("%c",*a);

60.删除给定的字符

填空:

klenss[i][j]

改错:

result*=n--;

result

61.填空:

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

改错:

for(j=i+1;j<6;j++)

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

62.统计26个字母出现次数

填空:

1s[k]c

改错:

longs=0,t=0;

t=t/10;

63.删除指定下标字符

填空:

t=ii'\0'

改错:

while(fabs(t)>=num)

t=s/n;

64.统计一行串中单词个数

填空:

filenamefpfp

改错:

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

returnh;

65.M个字符串合并成新串

填空:

next0r

改错:

r=t;

if(*r==0)

66.回文

填空:

doublef1f2

改错:

p=h->next;

p=p->next;

67实现两个字符串连接

填空:

010*xn/10

改错:

*t=0;

if(d%2!

=0)

68.删除字符串中所有空格

填空:

0||1

改错:

t-=1.0/i;

returnt;

69.逆置。

字符串逆置

填空:

i+1k=jt

改错:

voidfun(char*str,charch)

if(*str!

=ch)

str[1]=0;

70数字字符串转换为整数

填空:

100x

改错:

if(n==0)

result*=n--;

711第m个字符移到串后

填空:

doublef1f2

改错:

char*fun(char*s,char*t)

ss++;

tt++;

72.统计子串出现的次数

i

填空:

Nlen*n=len

改错:

t+=1.0/i;

returnt;

101.请编写函数fun,其功能是:

统计s所指字符串中的数字字符个数,并作为函数值返回。

数字字符个数

填空:

b[k]N/2<

改错:

int  t[N] ,i, num=0;

t[num++]=b[i];

for(i=0; i

102.请编写函数fun,其功能是将形参s所指的字符串放入形参a所指的字符数组中,使a中存放同样的字符串。

填空:

pbp->datap->next

改错:

int i, one=0, zero=0;

switch( s[i] )

case 0:

zero++;break;

104

数字字符串转换为整数

填空:

0t(t-1)*(t+2)/2

改错:

b[i]=0;

b[a[i]-'a']++;

if(b[max]

类型七:

套用公式计算型

73.编写函数fun,函数的功能是:

根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

s=1+1/(1+2)+1/(1+2+3)+.......+1/(1+2+3+4+......+n),

若n的值为11时,函数的值为1.833333。

填空:

'\0'0c

改错:

doublesum=0.0;

sum/=c;

74.

cos(x)-x=0的一个实根0.739085

填空:

i++mm

改错:

while((high>=2)&&(n<10))

yes=0;break;

75.

若m的值为20,则fun函数值为6.506583。

填空:

0j--j

改错:

 doublef(doublex)

returns;

76.若主函数从键盘给n输入15,则输出为s=2.718282。

填空:

1-1t

改错:

for(i=1;i<=3;i++)

if(k>=0&&k<=6)

77.

输入0.21后,则输出为s=1.100000。

填空:

xnfabs(t)

改错:

for(i=1;i<=y;i++)

t=t%1000;

78.若输入8后,则输出为S=0.662872。

填空:

j=2ij

改错:

sum=j=0;

if(sum%4==2)

79.

输入20后,则输出为s=534.188884。

填空:

aab

改错:

c=c+32;

c=c+5;

80.m=12,n=8,运行结果为495.000000。

填空:

*ss++n

改错:

intj,c=0;floatxa=0.;

if(x[j])>=xa)

81.n=10时,函数值为0.909091。

填空:

*s1k[n]

改错:

doublefun(intk)

returns;

82.n=10,x=0.3时,函数值为1.349859。

填空:

ips[j]tp

改错:

doublefun(intn)

returnsum;

83.求π的值

填空:

0nt*t

改错:

for(i=0;str[i];i++)

if(substr[k+1]=='\0')

84.输出下列多项式值

填空:

n%10breakbreak

改错:

if(t==0)

*zero=count;

类型八:

求整除

85.请编写函数fun,它的功能是:

求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数

能被7或11整除,但不能同时被7和11整除

填空:

s[i]'9'*t=n

改错:

t=*x;*x=y;

return(t);

86.

能被7或11整除

填空:

qnextnext

改错:

p=j;

p=i;

87.同时能被3与7整除的所有自然数之和的平方根

填空:

'0's++sum

改错:

if((k%13==0)||(k%17==0))

}

88.能整除形参x且不是偶数的各整数

填空:

t,ss[i]'\0'

改错:

if(i%k==0)

if(k==i)

89N以内能被5或9整除的所有自然数倒数之和

填空:

a[i]a[i]0

改错:

y=1;

d=a-i;

105去掉一个最高分和一个最低分,然后求平均值

填空:

a[i]m%10m/10

改错:

b[i]=a[i][0];

for(j=1;j

if(b[i]>a[i][j])

类型九:

其它各类计算

90.请编写函数fun,它的功能是:

求Fibonacci数列中大于t的最小的一个数,结果由函数返回。

fibonacci

填空:

NN-10

改错:

s=s+(n+1.0)/n;

returnt;

91大于1小于m的非素数

填空:

M

改错:

if((tt[i]>=’a’)&&(tt[i]<='z'))

tt[i]-=32;

92.3到n之间所有素数平方根之和

填空:

it++count

改错:

intfun(inta,intb,intc)

elseretrun1;

93.小于或等于lim所有素数

填空:

a[0][i]

改错:

intfun(int*x,int*y)

t=*x;*x=*y;*y=t;

94.大于整数m且紧靠m的k个素数

填空:

s--return0

改错:

doublefun(intn)

c=a;a+=b;b=c;

95.w是一个大于10的无符号整数

5923=〉923

填空:

tttt.score[i]std

改错:

m=i;

if(a[k]>a[m])m=k;

96.方差S=11.730729

填空:

11i

改错:

k=i;

c=k%10;

97.相邻两元素平均值平方根之和

填空:

xnt

改错:

d=1;s=0;

d=d/10;

98.保留2位小数

填空:

48s++ctod(a)+ctod(b)

改错:

voidfun(char*s,int*a,int*b)

*a=*a+1;

*b=*b+1;

99.整数n的所有因子

填空:

&&‘A’ch

改错:

voidfun(int*a)

a[j]=a[j-1];

100.各年龄段的人数

填空:

“rb”>fwrite

改错:

p=s;

while(*p++);

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

当前位置:首页 > 人文社科

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

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