全国计算机二级C题库和答案Word格式文档下载.docx

上传人:b****6 文档编号:16785176 上传时间:2022-11-26 格式:DOCX 页数:141 大小:104.71KB
下载 相关 举报
全国计算机二级C题库和答案Word格式文档下载.docx_第1页
第1页 / 共141页
全国计算机二级C题库和答案Word格式文档下载.docx_第2页
第2页 / 共141页
全国计算机二级C题库和答案Word格式文档下载.docx_第3页
第3页 / 共141页
全国计算机二级C题库和答案Word格式文档下载.docx_第4页
第4页 / 共141页
全国计算机二级C题库和答案Word格式文档下载.docx_第5页
第5页 / 共141页
点击查看更多>>
下载资源
资源描述

全国计算机二级C题库和答案Word格式文档下载.docx

《全国计算机二级C题库和答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C题库和答案Word格式文档下载.docx(141页珍藏版)》请在冰豆网上搜索。

全国计算机二级C题库和答案Word格式文档下载.docx

//****found****

intj=1;

inti;

for(i=2;

i<

=n.;

i++)

j=-1*j;

y+=1/(i*i);

return(y);

intn=10:

system(”(CLS”):

printf(”\nTheresultis%lf\n”,proc(n));

三、程序设计题

编写一个函数,从传人的M个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

stdio.hi>

string.h>

char*proc(cb,ar(*a)[81],intnum)

charss[10][81],*max;

intn,i=0;

printf(”输入若干个字符串:

”);

gets(ss[i]);

puts(ss[i]);

while(!

strcmp(ssEi],"

****"

)==0)

i++:

n一1;

max=proc(ss,n):

printf(”\nmax=%s\n”,max);

第2套上机考试试题

请补充main()函数,该函数的功能是:

输入两个正整数numl和num2,求这两个数的最大公约数和最小公倍数。

例如,若输人的两个正整数为12,4,则它们的最大公约数为4,最小公倍数为l2。

请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。

stdlih.h>

inta,b,numl,num2,t;

printf(”\nlnputtWOnumbers:

\n”);

scanf(”%d,%d”,&

numl,&

num2);

if(numl<

num2)

a=num2;

b=numl;

else

a=num1:

b=num2:

while(【1】)

t=【2】

a=b;

b=t;

printf("

greatestcommondivisor:

%d\n”,a);

printf(”leastcommonmultiple:

%d\n”,【3】);

下列给定程序中函数proc的功能是:

取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。

例如,当s中的数为123456789时,t中的数为2468。

请修改程序中的错误,使它能得出正确的结果。

stdlib.h>

voidproc(1ongs,longt)

{longs1=10;

s/=10:

*t=s%10;

//****found****

while(s<

0)

{s=s/100;

*t=s%10*s1+*t;

s1=s1*10:

{longS,t;

system(”CLs”);

printf(”\nPleaseenters:

scanf(”%ld”,&s);

proc(s,&

t):

printf(”Theresultis:

%ld\n”,t);

请编写函数proc(),其功能是:

将str所指字符串中除下标为偶数,同时ASCII码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。

例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符8的ASCII码值为偶数,所在元素的下标为奇数,因此必须删除;

而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除。

依次类推,最后t所指的数组中的内容应是ACEG。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。

voidproc(char*str,chart[])

charstr[100],t[100];

system(”CLS”);

printf(”\nPleaseenterstringstr:

"

);

scanf(”%s”,str);

proc(str,t);

printf(”\nTheresultis:

%s\n”,t):

第3套上机考试试题

如果数组arr的前一个元素比后一个元素小,则把它保存在数组bb中并输出。

例如,若数组中的元素为:

“40,68,62,33,35,52,48,95,66,73”,则输出:

“40,33,35,48,66”。

请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填人所编写的若干表达式或语句。

#defineM10

inti,n=0:

intarr[M]={40,68,62,33,35,52,48,95,66,73);

intbb[M];

for(i=0;

【1】;

if(arr[i]<

arr[i+1])

【2】;

printf(”\n***displaybb***\n”);

n;

bb[%d]=%2d"

【3】);

给定程序中,函数proc()的功能是:

使数组中的元素的值缩小5倍。

floatm[10];

ff****found****

intproc(void)

intJ;

printf(”Insubfuncaftercalling\n”);

for(j=0;

j<

10;

j++)

|f****found****

printf(”%f”,m[j]%5);

printf(”Inmainbeforecalling\n”);

m[i]=i+20:

printf(”%f”,m[i]);

proc();

printf(”\nInmainaftercalling\n”):

printf(”%f”,m[i]/S):

学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),其功能是:

按分数的高低排列学生的记录,高分在前。

#include<

stdioh、>

#defineM16

typedefstruct

charnum[10];

inlS;

STREC;

voidproc(STRECa[])

inti,j;

STRECt;

for(i=1;

M;

i++)/*用冒泡法按从高到低

排序*/

M-1;

if(a[j].s<

a[j+1].s)/*按分数的高低排列学生

的记录,高分在前*/

{t=aEP;

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

a[j+1]=t;

voidmain()

STREC,sluEM]={{”GA005”,85),{¨

GA003”,

76},

{”GA002“,69},{¨

GA004”,815}.{¨

GA001”,91},

{"

GA007”,72},{“GA008”,64),{"

GA006”,87},

GA015”,85},i”GAO13”,91},{”GA012”,64},

GA014”,91},{”GA011”,66},{¨

GA017”,64},

{”GA018”,64},{¨

GA016”,72}};

in/i;

proc(stu):

prinlf(”Thedataafwrsorted:

M:

if(i%4==0)

//每行输出4个学生记录

printf(”\n”);

printf(”%s%4d”,stu[i].num,stu[i].s);

printf(”\n”):

第4套上机考试试题

请补充函数proc(),其功能是:

计算并输出给定10个数的方差。

例如,拾定的10个数为12.0,9.0.26.0,5.0,6.0,31.0,

9.o,3.0,8.0,18、0,输出为s=8.8771500。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若于表达式或语句。

math.h>

doubleproc(doublexElO])

doubleavg=0.0;

double8urn=0.0;

doubleabs=0.0:

doublesd;

for(i=0:

【1】;

avg=sum/10;

i十十)

sd=【3】;

returnsd;

doubles,str[10]={12.0,9.0,26.0,5.0,6.0,31.0.

9.0,3.0,8.0,18.0);

printf(”\nTheoriginaldatais:

for(i一0;

t)rintf(”%6.lf,slr[i]):

printf(”\n\n”);

s=proc(str):

printf(”s=%f\n\n”,s);

下列给定程序中,函数proc()的功能是:

从字符串str中,删除所有大写字母'

F'

voidproc(char*str)

for(i=j=0;

str[i]!

='

0'

if(str[i]!

str[j]=str[i];

str[j]='

\0'

charstr[80];

printf(”\nEnterastring:

gets(str);

printf(”Theoriginalstring:

puts(str);

proc(str);

printf(”Thestringafterdeleted:

printf(”\n\n”);

假定输入的字符串中只包含字母和*号。

请编写函数proc(),它的功能是:

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

例如,若字符串中的内容为****a*bc*def*g****,删除后,字符串中的内容则应当是a*bc*def*g****。

清勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

eonio.h>

voidproc(char*str)

charstr[81];

printf(”Enterastring:

n”);

第5套上机考试试题

请补充函数proc(),函数proe()的功能是求7的阶乘。

longproc(intn)

if(【1】)

reurn(n”proc(【2】);

elseif(【3】)

return1:

intk=7:

printf(”%d!

=%ld\n”,k,proc(k));

下列给定的程序中,函数proc()的功能是:

用选择法对数组中的m个元素按从小到大的顺序进行排序。

例如,排序前的数据为:

1132-5214则排序后的数据为:

-52111432

#defineM20

voidproc(inta[],intn)

inti,j,t,P;

n-1;

j++);

P=j;

for(i=j;

if(a[i]<

a[p])

p=i;

t=a[p]];

a[p]=a[j];

a[p]=t:

intarr[M]={11,32,-5,2,14).i,m=5;

printf(”排序前的数据:

m;

printf(”%d”,arr[i]):

proc(arr,m):

printf(”排序后的顺序:

printf(”%d”,arr[i]);

请编写函数proc(),该函数的功能是:

将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。

例如,若字符串数组中的M个字符串为:

ABCD

BCDEFG

CDEFGHI

则合并后的字符串内容应该是ABCDBCDEFGCDEFGHI。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。

#defineM3

#defineN20

voidproc(chararr[M][N].char*b)

charstr[M][N]={”ABCD”,”BCDEFG”,”

CDEFGHl”),i;

chararr[100]={”#############

#####”);

printf(”Thestring:

2M;

puts(str[i]);

proc(str,arr);

printf(”TheAstring:

printf(”%S”,arr);

printf(”\nln”);

第6套上机考试试题

给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。

例如,当score=(10,20,30,40,50,60,70,80,90},m=9时,函数返回的人数应该是4,below={10,20,30,40)。

请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。

2stdio.h>

2string.h>

intfun(intscore[],intm,intbelow[])

inti,j=0;

floataver=0.0;

2m;

aver+=score[i];

aver/=(float)m;

if(score[i]<

2aver)

below[j++]=【1】;

returnj;

inti,n,below[9];

intscore[9]={10,20,30,40,50,60,70,80,90);

n=fun(score,9,【2】);

printf(”\nBelowtheaveragescoreare:

%d\n”,n);

2n;

printf(”%d”,【3】);

下列给定程序中函数fun()的功能是:

用递归算法计算斐波拉契数列中第n项的值。

从第1项起,斐波拉契数列为:

l,1,2,3,5,8,13,21,…

例如,若给n输入7,则该项的斐波拉契数值为13。

请改正程序中的错误,使它能得出正确结果。

不要改动main()函数,不得增行或删行,也不得更改程序的结构!

longfun(intg)

//**+*found****

switch(g);

case0:

return0;

casel:

case2:

return1;

return(fun(g-1)+fun(g-2));

longfib;

intn;

printf(”Inputn:

scanf(”%d”,&

n);

printf(”n=%d\n”,n);

fib=fun(n);

printf(”fib=%d\nkn”,fib);

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

求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:

85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。

请勿改动main()函数和其他函数中的任何内容,仅在函数fun()部位中填入你编写的若干语句。

#defineN8

typedefstruct

charnurn[10];

doubles[N];

doubleave;

)STREC;

voidfun(STREC*a)

STRECs={¨

GA005”,85.5,76,69.5,85,91,72,

64.5,87.5};

inti:

fun(&

s):

printf(”The%s'

sstudentdata:

n”,S.num);

N;

printf(”%4.lfkn”,s.s[i]);

printf(”nknave=%7.3fkn”,s.ave);

第7套上机考试试题

把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存在原来的字符串中。

例如,当str[M]=”abcdefl23ABCD”,结果输出:

“ABC

DEF123ABCD”。

#define

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

当前位置:首页 > 高中教育 > 语文

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

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