全国计算机等级考试二级C语言上机考试试题详解.doc

上传人:b****1 文档编号:216569 上传时间:2022-10-06 格式:DOC 页数:49 大小:226.50KB
下载 相关 举报
全国计算机等级考试二级C语言上机考试试题详解.doc_第1页
第1页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解.doc_第2页
第2页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解.doc_第3页
第3页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解.doc_第4页
第4页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解.doc_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试二级C语言上机考试试题详解.doc

《全国计算机等级考试二级C语言上机考试试题详解.doc》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言上机考试试题详解.doc(49页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试二级C语言上机考试试题详解.doc

第四部分全国计算机等级考试二级C语言上机考试试题详解

第7章全国计算机等级考试二级C语言上机考试试题

第1套

填空题:

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

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

例如:

当str[N]=“123abcdefABCDEF!

”时,结果输出:

“123ABCDEFABCDEF!

”。

注意:

部分源程序给出如下。

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

试题程序:

#include

#include

#include

#defineN80

main()

{inti;

charstr[N]="123abcdefABCDEF!

";

char*pf=str;

printf("***originalstring***\n");

puts(str);

【1】;

while(*(pf+j))

{if(*(pf+j)>='a'&&*(pf+j)<='z')

{*(pf+j)=【2】;j++;}

else

【3】;

}

printf("******newstring******\n");

puts(str);

system("pause");

}

改错题:

下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCⅡ值小或相等的字符依次存放到c数组中,形成一个新的字符串。

例如:

a中的字符串为fshADfg,b中的字符串为sdAEdi,则c中的字符串应为fdAADf。

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

注意:

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

试题程序:

#include

#include

voidfun(char*p,char*q,char*c)

{intk=0;

while(*p||*q)

/*************found**************/

{if(*p<=*q)

c[k]=*q;

elsec[k]=*p;

if(*p)p++;

if(*q)q++;

/*************found**************/

K++

}

}

main()

{chara[10]="fshADfg",b[10]="sdAEdi",c[80]={‘\0’};

fun(a,b,c);

printf("Thestringa:

");puts(a);

printf("Thestringb:

");puts(b);

printf("Theresult:

");puts(C);

}

编程题:

请编写函数fun(),其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:

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

例如,当a=16,b=35,调用该函数后,c=5361。

注意:

部分源程序给出如下。

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

试题程序:

#include

voidfun(inta,intb,long*c)

{

}

main()

{inta,b;longc;

printf("Inputa,b;");

scanf("%d%d",&a,&b);

fun(a,b,&c);

printf("Theresultis:

%ldln",c);

}

第2套

填空题:

请补充main函数,该函数的功能是求方程ax2+bx+c=0的两个实数根。

方程的系数a、b、c从键盘输入,如果判别式(disc=b2-4ac)小于0,则要求重新输入a、b、c的值。

例如,当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00,x2=-1.00。

注意:

部分源程序给出如下。

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

试题程序:

#include"math.h"

#include

main()

{floata,b,c,disc,xl,x2;

do

{printf("Inputa,b,c:

");

scanf("%f,%f,%f",&a,&b,&c);

disc=b*b-4*a*c;

if(disc<0)

printf("disc=%f\nlnputagain!

\n",disc);

}while(【1】);

printf("*******theresult*******\n1");

x1=【2】;

x2=【3】;

printf("\nx1=%6.2f\nx2=%6.2f\n",x1,x2);

}

改错题:

下列给定程序中,函数fun()的功能是根据整型形参m,计算如下公式的值。

y=l-1/(2×2)+1/(3×3)-1/(4×4)+…+(-1)(m+1)/(m×m)

例如:

m中的值为5,则应输出0.838611。

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

注意:

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

试题程序:

#include

#include

doublefun(intm)

{doubley=1.0;

/*************found**************/

intj=1,i;

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

{j=-1*j;

/*************found**************/

y+=1/(i*i);

}

return(y);

}

main()

{intn=5;

printf("\nTheresultis%lf\n",fun(n));

}

编程题:

请编一个函数voidfun(inttt[M][N],intpp[N],tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。

二维数组中的数已在主函数中给出。

注意;部分源程序给出如下。

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

试题程序:

#include

#include

#defineM3

#defineN4

voidfun(inttt[M][N],intp[N])

{

}

main()

{intt[M][N]={{68,32,54,12},{14,24,88,58},{42,22,44,56}};

intp[N],i,j,k;

printf("Theriginaldatais:

\n");

for(i=0;i

{for(j=0;j

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

printf("\n");

}

fun(t,p);

printf("\nTheresultis:

\n");

for(k=0;k

printf("%4d",p[k]);

printf("\n");

}

第3套

填空题:

数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num传入函数fun()。

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

从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组中,其个数由函数fun()返回。

例如:

当xx[8]={135,78,72,32,222,424,333,141,541}时,bb[6]={787,232,222,424,333,141}。

注意:

部分源程序给出如下.

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

试题程序:

#include

#defineN1000

intfun(intxx[],intbb[],intnum)

{inti,n=0;

intg,b;

for(i=0;i

{g=【1】;

b=xx[i]/100;

if(g==b)

【2】;

}

return【3】;

}

main()

{intxx[8]={135,787,232,222,424,333,141,541},yy[N];

intnum=8,n=0,i=0;

printf("***originaldata***\n");

for(i=0;i

printf("%u",xx[i]);

printf("\n\n\n");

n=fun(xx,YY,num);

printf("\nyy=");

for(i=0;i

printf("%u",yy[i]);

}

改错题:

下列给定程序中函数fun()的功能是计算1/n!

的值。

例如:

给n输入5,则输出0.008333。

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

注意:

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

试题程序:

#include

#include

/*************found**************/

intfun(intn)

{doubleresult=1.0;

if(n==0)

return1.0;

while(n>1&&n<170)

/*************found**************/

result*=n++;

result=1/result;

returnresult;

}

main()

{i

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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