全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc

上传人:wj 文档编号:1258064 上传时间:2023-04-30 格式:DOC 页数:49 大小:226.50KB
下载 相关 举报
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第1页
第1页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第2页
第2页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第3页
第3页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第4页
第4页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第5页
第5页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第6页
第6页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第7页
第7页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第8页
第8页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第9页
第9页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第10页
第10页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第11页
第11页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第12页
第12页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第13页
第13页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第14页
第14页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第15页
第15页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第16页
第16页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第17页
第17页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第18页
第18页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第19页
第19页 / 共49页
全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc

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

全国计算机等级考试二级C语言上机考试试题详解Word文档下载推荐.doc

else

【3】;

}

printf("

******newstring******\n"

puts(str);

system("

pause"

改错题:

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

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

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

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

#include<

string.h>

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++

}

}

{chara[10]="

fshADfg"

,b[10]="

sdAEdi"

,c[80]={‘\0’};

fun(a,b,c);

Thestringa:

puts(a);

Thestringb:

puts(b);

Theresult:

puts(C);

编程题:

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

合并的方式是:

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

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

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

voidfun(inta,intb,long*c)

{

}

{inta,b;

longc;

printf("

Inputa,b;

scanf("

%d%d"

,&

a,&

b);

fun(a,b,&

c);

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"

b,&

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

if(disc<

0)

printf("

disc=%f\nlnputagain!

\n"

,disc);

}while(【1】);

*******theresult*******\n1"

x1=【2】;

x2=【3】;

\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。

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

注意:

doublefun(intm)

{doubley=1.0;

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

intj=1,i;

for(i=2;

i<

=m;

i++)

{j=-1*j;

y+=1/(i*i);

return(y);

{intn=5;

\nTheresultis%lf\n"

,fun(n));

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

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

注意;

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

#include<

#defineM3

#defineN4

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

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

intp[N],i,j,k;

Theriginaldatais:

for(i=0;

M;

{for(j=0;

j<

N;

j++)

%6d"

,t[i][j));

fun(t,p);

\nTheresultis:

for(k=0;

k<

k++)

%4d"

,p[k]);

第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}。

部分源程序给出如下.

#defineN1000

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

{inti,n=0;

intg,b;

for(i=0;

num;

{g=【1】;

b=xx[i]/100;

if(g==b)

【2】;

return【3】;

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

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

printf("

***originaldata***\n"

for(i=0;

printf("

%u"

,xx[i]);

\n\n\n"

n=fun(xx,YY,num);

\nyy="

n;

printf("

,yy[i]);

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

的值。

给n输入5,则输出0.008333。

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

intfun(intn)

{doubleresult=1.0;

if(n==0)

return1.0;

while(n>

1&

n<

170)

result*=n++;

result=1/result;

returnresult;

{intn;

InputN:

%d"

n);

printf(”\n1/%d!

=%lf\n"

,n,fun(n));

编写函数fun(),它的功能是求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。

n为1000时,函数值应为s=96.979379。

math.h>

doublefun(intn)

{intn=1000;

s=%f\n"

,fun(1000));

第4套

给定程序的功能是判断字符ch是否与串str中的某个字符相同;

若相同,什么也不做,若不同,则插在串的最后。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

不得增行或删行,也不得更改程序的结构!

voidfun(char*str,charch)

{ while( *str&

*str!

=ch)str++;

if(*str 【1】 ch)

{str[0]=ch;

【2】=0;

main()

{ char s[81],c;

printf("

\npleaseenterastring:

);

 gets(s);

printf("

\npleaseenterthecharactertosearch:

"

c=getchar();

fun(【3】);

\ntheresult is%s\n"

,s);

下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。

输入352,则输出应该是38;

若输入328,则输出应该是77。

longfun(longnum)

{longk=1;

do

{k+=(num%10)*(num%10);

num/=10;

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

}while(num)

return(k);

{longn;

\Pleaseenteranumber:

%ld"

,an);

\n%ld\n"

请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。

其中Fibonacai数列F(n)的定义为:

F(0)=0,F【1】=1,……F(n)=F(n-1)+F(n-2)

例如:

t=1000时,函数值为987。

注意:

部分源程序给出如下:

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

intfun(intt)

{

n=1000;

n=%d,f=%d\n"

第5套

填空题:

把从主函数中输入的字符串str2倒置后接在字符串strl后面。

strl=“Howdo”,str2=“?

oduoy”,结果输出:

“Howdoyoudo?

#defineN40

voidfun(char*strl,char*str2)

{inti=0,j=0,k=0,n;

charch,*pl=strl,*p2=str2;

while(*(pl+i))

i++;

while(*(p2+j))

j++;

n=【1】;

for(;

k<

=j/2;

k++,j--)

{ch=*(p2+k);

*(p2+k)=*(p2+j);

*(p2+j)=ch;

}

【2】;

for(;

【3】;

*(pl+i)=*p2++;

*(pl+i)='

\0'

;

}

main()

{charstrl[N],str2[N];

intm,n,k;

printf("

***Inputthestringstrl&

str2***\n"

);

\nstrl:

gets(strl);

\nstr2:

gets(str2);

***Thestringstrl&

str2***\n"

puts(strl);

puts(str2);

fun(str1,str2);

printf(“***Thenewstring***\n”);

puts(str1);

下列给定程序中,函数fun()的功能是找出100~n(n不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。

stdio.h>

#defineN100

intfun(int*s,intn)

{inti,j=0,k,a,b,c;

for(i=100;

i<

n;

i++)

**********************************

{k=n;

a=k%10;

k/=10;

b=k%10;

c=k/10;

if(a==b+c)

s[j]=i;

returnj;

{inta[N],n,num=0,i;

do

{printf("

\nEntern(<

=1000):

scanf("

%d"

&

n);

}

while(n>

1000);

num=fun(a,n);

printf("

\n\nTheresult:

for(i=0;

num;

printf("

%5d"

a[i]);

\n\n"

}

程序定义了N×

N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N],intn),该函数的功能是使数组左下半三角元素中的值加上n。

若n的值为3,a数组中的值为

a=254

169

537

则返回主程序后a数组中的值应为

554

499

8610

#defineN5

fun(inta[][N],intn)

main()

{inta[N][N],n,i,j;

*****Thearray*****\n"

for(i=0;

N;

i++)/*产生一个随机5*5矩阵*/

{for(j=0;

j<

j++)

{a[i][j]=rand()%10;

printf("

%4d"

a[i][j]);

{n=rand()%10;

while(n>

=5);

/*产生一个小于5的随机数n*/

n=%4d\n"

n);

fun(a,n);

*****THERESULT*****\n"

for(i=0;

{for(j=0;

printf("

a[i][j]);

printf("

第6套

按‘0’到‘9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。

不能使用字符串库函数。

输入“x=112385713.456+0.909*bc”,结果为:

1=3,3=2,5=2,7=1,9=2。

#defineN1000

voidfun(char*tt,intnum[])

{inti,j,bb[10];

ch

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2