全国计算机二级C考精彩试题库程序设计部分Word下载.docx

上传人:b****3 文档编号:18511921 上传时间:2022-12-18 格式:DOCX 页数:36 大小:48.69KB
下载 相关 举报
全国计算机二级C考精彩试题库程序设计部分Word下载.docx_第1页
第1页 / 共36页
全国计算机二级C考精彩试题库程序设计部分Word下载.docx_第2页
第2页 / 共36页
全国计算机二级C考精彩试题库程序设计部分Word下载.docx_第3页
第3页 / 共36页
全国计算机二级C考精彩试题库程序设计部分Word下载.docx_第4页
第4页 / 共36页
全国计算机二级C考精彩试题库程序设计部分Word下载.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

全国计算机二级C考精彩试题库程序设计部分Word下载.docx

《全国计算机二级C考精彩试题库程序设计部分Word下载.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C考精彩试题库程序设计部分Word下载.docx(36页珍藏版)》请在冰豆网上搜索。

全国计算机二级C考精彩试题库程序设计部分Word下载.docx

i%77!

=0>

a[j++]=i;

*n=j;

4、删除字符串中所有*号.

voidfun<

char*a>

a[i]!

='

\0'

*'

>

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

a[j]='

5、实现两个字符串的连接〔不要同时使用库函数〕,即把p2所指的字符串连接到p1所指的字符串的后面.

charp1[],charp2[]>

inti,j;

p1[i]!

;

p2[j]!

p1[i++]=p2[j];

p1[i]='

6、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能:

求出平均分,并放入记录的ave成员中.

STREC*a>

{inti;

a->

ave=0.0;

N;

a->

ave=a->

ave+a->

s[i];

ave/=N;

7、n名学生的成绩已在主函数中放入一个带头结点的链表结构中,h指向链表的头结点.求出平均分,并由函数值返回

doublefun<

STREC*h>

{doubleave=0.0;

STREC*p=h->

next;

p!

=NULL>

{ave=ave+p->

s;

p=p->

returnave/N;

8、将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过K返回.

intm,int*k,intxx[]>

{inti,j,n=0;

i=4;

m;

{for<

j=2;

i;

i%j==0>

break;

i>

xx[n++]=i;

*k=n;

9、求ss所指字符串中指定字符的个数,并返回此值.

intfun<

char*ss,charc>

{inti=0;

*ss!

ss++>

*ss==c>

i++;

returni;

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

floatfun<

float*a,intn>

floatav=0.0;

i<

n;

av=av+a[i];

return<

av/n>

11、学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,求最高的学生数据放在b所指的数组中.注意:

分数最高的学生可能不止一个,函数返回分数最高的学生的人数.

STREC*a,STREC*b>

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

a[i].s>

max=a[i].s;

max==a[i].s>

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

returnj;

12、除了字符串前导的*号之外,将串中其他*号全部删除.

char*p=a;

*p&

*p=='

{a[i]=*p;

p++;

*p>

{if<

*p!

{a[i]=*p;

i++;

a[i]='

13、统计在tt所指的字符串中’a’到’z’26个小写字母给出现的次数,并依次放在pp所指数组中.

char*tt,intpp[]>

26;

pp[i]=0;

*tt!

tt++>

*tt>

a'

*tt<

z'

pp[*tt-'

]++;

14、将字符串尾部的*号全部删除,前面和中间的*号不动.

{while<

*a!

a++;

a--;

*a=='

*<

a+1>

15、比拟字符串的长度,函数返回较长的字符串,如果一样,如此返回第一个字符串.

char*fun<

char*s,char*t>

{inti,j;

s[i]!

='

t[j]!

=j>

returnt;

else

returns;

16、学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s中,函数返回该学生的学生数据,指定的学号在主函数中输入.假如没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数数值返回.

STRECfun<

STREC*a,char*b>

{inti;

STRECstr={"

\0"

-1};

strcmp<

a[i].num,b>

==0>

str=a[i];

returnstr;

17、将s所指字符串中除下标为偶数同时ASCII码值也为偶数的字符外,其余的全部删除字符串中剩余的字符所形成的新串放在t数组中.voidfun<

char*s,chart[]>

inti,j=0;

i%2==0&

s[i]%2==0>

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

t[j]='

18、利用下面的简单迭代方法求方程cos<

x>

-x=0的一个实根s

.

{doublex0,x1;

x1=0.0;

do

x0=x1;

x1=cos<

x0>

}while<

fabs<

x0-x1>

=1e-6>

returnx1;

19、将字符串中的前导*号全部移到字符串尾部.

{inti=0,n=0;

char*p;

p=a;

while<

/*判断*p是否是*号,并统计*号的个数*/

n++;

p++;

while<

/*将前导*号后的字符传递给a*/

a[i]=*p;

n!

a[i]='

n--;

20、N名学生的数据已放入主函数中的结构体数组中,把分数最低的学生数据放入b所指的数组中.

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

min>

min=a[i].s;

/*找出最小值*/

min==a[i].s>

/*找出成绩与min相等的学生的记录,存入结构体b中*/

21、计算

intm>

doubles=0.0;

=m;

s=s+log<

returnsqrt<

s>

22、只删除字符前导和尾部的*号,串中字母间的*号都不删除.

char*a,intn,inth,inte>

i=h;

n-e;

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

{inti,j=0,k=strlen<

k;

i=i+2>

24、将a,b中的两位正整数合并成一个新的整数放在c中.合并方式是:

将a中的十位和个位依次放在变量c的百位和个位上,B中的十位和个位数依次放在变量c的十位和千位上.

inta,intb,long*c>

*c=a%10+<

b/10>

*10+<

a/10>

*100+<

b%10>

*1000;

25、除了尾部的*号之外,将字符中的其他的*号全部删除.形参p已指向字符串最后的一个字母.

char*a,char*p>

{char*t=a;

t<

=p;

t++>

*t!

a++>

=*t;

*a='

26、N名学生的数据已放入主函数中的结构体数组中,按分数降序排列学生的记录,高分在前,低分在后.

STRECa[]>

STRECt;

N-1;

a[j].s<

a[j+1].s>

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

27、N名学生的数据已放入主函数中的结构体数组中,把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回.

STREC*a,STREC*b,int*n>

inti;

doubleav=0.0;

*n=0;

av=av+a[i].s;

av=av/N;

av<

=a[i].s>

{b[*n]=a[i];

*n=*n+1;

returnav;

28、将1~m之间〔含m〕能被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数.

voidfun<

intm,int*a,int*n>

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

{char*p=a;

p++,a++>

*a=*p;

30、N名学生的成绩已在主函数中放入一个带有头结点的链表结构中,h指向链表的头结点.找出学生的最高分.

{doublemax=h->

h!

{if<

h->

max=h->

h=h->

30、找出一维整型数组元素最大的值与其所在的下标,并通过形参传回.主函数中x是数组名,n是x数据个数,max存放最大值,index存放最大值所在元素的下标.

inta[],intn,int*max,int*d>

*max=a[0];

*d=0;

*max<

a[i]>

{*max=a[i];

*d=i;

31、将s所指字符串中除了下标为奇数同时ASCII值也为奇数的字符之外,其余的所有字符全部删除,串在剩余字符所形成的一个新串放在t所指的数组中.

{inti,j=0,n;

n=strlen<

i%2!

=0&

s[i]%2!

{t[j]=s[i];

j++;

32、实现B=A+’A’,即将矩阵A加上A的转置,存放在矩阵B中.

inta[3][3],intb[3][3]>

3;

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

33、将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中.

int<

*s>

[10],int*b,int*n,intmm,intnn>

for<

nn;

mm;

{

b[*n]=*<

*<

s+i>

+j>

*n=*n+1;

34、将两个两位数的正整数a,b合并成一个整数放在c中.合并的方式是:

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

*c=a/10+<

a%10>

35、将放在字符串数组中的M个字符串〔每串的长度不超过N〕,按顺序合并成一个新的字符串.

chara[M][N],char*b>

{inti,j,k=0;

a[i][j]!

b[k++]=a[i][j];

b[k]='

36、删除一个字符串中指定下标的字符.a指向原字符后的字符串存放在b所指的数组中,n中存指定的下标.

chara[],charb[],intn>

{inti,k=0;

i!

=n>

b[k++]=a[i];

37、移动一维数组中的内容,假如数组中有n个整数,要求把下标从0~p〔含p,p小于等于n-1〕的数组元素平移到数组的最后.

voidfun<

int*w,intp,intn>

{intx,j,ch;

x=0;

x<

x++>

{ch=w[0];

j=1;

w[j-1]=w[j];

w[n-1]=ch;

38、将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中.

char<

[N],char*b>

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

39、计算

floatfun<

intn>

{inti,s1=0;

floats=0.0;

=n;

{s1=s1+i;

s=s+1.0/s1;

40、将s所指字符串中ASCCII值为奇数的字符删除,剩余字符形成的新串放在t所指数组中

s[i]%2==0>

{t[j]=s[i];

42、删除一维数组中所有一样的数使之只剩一个.数组中的数已按由小到大的顺序排列函数返回删除后数组的数据.

inta[],intn>

{inti,j=1;

a[j-1]!

=a[i]>

returnj;

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

char*a,char*h,char*p>

char*q=a;

q<

h>

{a[i]=*q;

q++;

p>

*q!

}

}

*q>

44、将a,b的两个两位正整数合并成一个新的整数放在c中,合并方式是:

将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的千位和十位上.

*c=a%10+<

45、使字符串的前导*号不得多于n个,假如多于n个,如此删除多余的*号,假如少于或等于n个,如此不做处理,字符串中间和尾部的*号不删除.

char*a,intn>

intk=0;

char*p,*t;

p=t=a;

*t=='

{k++;

t++;

k>

n>

{while<

{a[i]=*<

p+k-n>

p++;

46、将两个两位数的正整数a,b合并成一个整数放在c中,合并方式是:

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

*c=a/10+<

47、将一个数字字符串转换为一个整数.

答案:

ongfun<

char*p>

{longn=0;

intflag=1;

-'

{p++;

flag=-1;

elseif<

+'

{n=n*10+*p-'

0'

returnn*flag;

48、求Fibonacc数列中大于t的最小的数,结果由函数返回.Fibonacc数列F〔n〕定义为

intt>

{intf0=0,f1=1,f;

do{

f=f0+f1;

f0=f1;

f1=f;

}while<

f<

t>

returnf;

49、把低于平均分的学生数据放入b所指的数组中低于平均分的学生人数通过形参n返回,平均分通过函数值返回

a[i].s<

av>

*n=j;

returnav;

50、将ss所指字符串所有下标为奇数位上的字母转换为大写.

char*ss>

ss[i]!

i%2==1&

ss[i]>

ss[i]<

ss[i]=ss[i]-32;

51、将a,b两个正整数合并成一个新的整数放在c中.合并方式:

将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上.

{*c=b/10+<

52、使字符串中尾部的*号不多于n个,假如多于n个,如此删除多余的*号,假如少于或等于n个,如此不做任何操作,字符中间的*不删除.

char*a,intn>

{inti=0,k=0;

char*p,*t;

*t>

t++;

t--;

t--;

{while<

p<

t+n+1>

{a[i]=*p;

53、将a,b两个正整数合并成一个新的整数放在c中.合并方式:

将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的百位和个位上.

{*c=b%10+<

54、将a,b两个正整数合并成一个新的整数放在c中.合并方式:

将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的十位和个位上.

{

*c=b%10+<

55、把指定分数X围内的学生数据放在b所指的数组中,分数

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

当前位置:首页 > 成人教育 > 自考

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

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