全国计算机等级考试二级C语言上机考试试题详解Word文档格式.docx
- 文档编号:22709996
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:78
- 大小:217.89KB
全国计算机等级考试二级C语言上机考试试题详解Word文档格式.docx
《全国计算机等级考试二级C语言上机考试试题详解Word文档格式.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言上机考试试题详解Word文档格式.docx(78页珍藏版)》请在冰豆网上搜索。
【3】;
}
******newstring******\n"
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;
}编程题:
请编写函数fun(),其功能是将两个两位数的正整数a、b合并形成一个整数
放在c中。
合并的方式是:
将a数的十位和个位数依次放在c数的个位和十位上,b数的十位和个位数依次放出c数的百位和千位上。
例如,当a=16,b=35,调用该函数后,c=5361。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
voidfun(inta,intb,long*c)
{
{inta,b;
longc;
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:
"
%f,%f,%f"
a,&
b,&
disc=b*b-4*a*c;
if(disc<
0)
disc=%f\nlnputagain!
\n"
,disc);
}while(【1】);
*******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。
试题程序:
doublefun(intm){doubley=1.0
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所指的一维数组中。
二维数组中
的数已在主函数中给出。
注意;
#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:
\n"
for(i=0;
M;
i++)
{for(j=0;
j<
N;
j++)
%6d"
,t[i][j));
fun(t,p);
\nTheresultis:
for(k=0;
k<
N;
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;
num;
i++)
{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;
***originaldata***\n"
i<
num;
%u"
,xx[i]);
\n\n\n"
n=fun(xx,YY,num);
\nyy="
for(i=0;
n;
,yy[i]);
下列给定程序中函数fun()的功能是计算1/n!
的值。
例如:
给n输入5,则输出0.008333。
intfun(intn)
{doubleresult=1.0if(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()
{chars[81],c;
printf("
\npleaseenterastring:
);
gets(s);
printf("
\npleaseenterthecharactertosearch:
c=getchar();
fun(【3】);
\ntheresultis%s\n"
,s);
下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。
输入352,则输出应该是38;
若输入328,则输出应该是77。
longfun(longnum)
{longk=1do
{k+=(numnum/=10
%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?
”。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写
的若干表达式或语句。
#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(;
=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;
***Inputthestringstrl&
str2***\n"
);
\nstrl:
gets(strl);
\nstr2:
gets(str2);
***Thestringstrl&
str2***\n"
puts(strl);
puts(str2);
fun(str1,str2);
printf(“***Thenewstring***\n”);
puts(str1);
1000)之间百位个数作为函数
下列给定程序中,函数fun()的功能是找出100~n(n不大于数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,值返回。
请改正程序中的错误,使它能得到正确结果。
stdio.h>
#defineN100
intfun(int*s,intn)
{inti,j=0,k,a,b,c;
for(i=100;
n;
{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;
\nEntern(<
=1000):
scanf("
%d"
&
n);
while(n>
1000);
num=fun(a,n);
\n\nTheresult:
for(i=0;
num;
%5d"
a[i]);
\n\n"
程序定义了N×
N的二维数组,并在主函数中自动赋值。
请编写函数fun(int
a[][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"
N;
i++)/*产生一个随机5*5矩阵*/
{for(j=0;
j<
j++)
{a[i][j]=rand()%10;
%4d"
a[i][j]);
{n=rand()%10;
while(n>
=5);
/*产生一个小于5的随机数n*/
n=%4d\n"
n);
fun(a,n);
*****THERESULT*****\n"
{for(j=0;
a[i][j]);
}第6套填空题:
按‘0'
到‘9'
统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。
不能使用字符串库函数。
输入“x=112385713.456+0.909*bc”,结果为:
1=3,3=2,5=2,7=1,9=2。
#defineN1000voidfun(char*tt,intnum[])
{inti,j,bb[10];
char*p=tt;
for(i=0;
10;
{num[i]=0;
bb[i]=0;
}while(【1】)
{if(*p>
0'
&
*p<
9'
)
【2】;
p++;
for(i=l,j=0;
i=i+2,j++)【3】;
main(){charstr[N];
intnum[10],k;
\nPleaseenteracharstring:
gets(str);
\n**Theoriginalstring**\n"
puts(str);
fun(str,num);
\n**Thenumberofletter**\n"
for(k=0;
5;
k++){printf("
printf("
%d=%d'
'
2*k+1,num[k]);
}printf("
return;
下列给定程序中,函数fun()的功能是求出数组中最小数和次最小数,并把最小数和a[0]中的数对调,次最小数和a[1]中的数对调。
#include<
conio.h>
#include<
#defineN20voidfun(int*a,intn)
{inti,m,t,k;
{m=i;
for(k=i;
k++)if(a[k]<
a[m])
k=m;
t=a[i];
a[i]=a[m];
a[m]=t;
}main()
{intx,b[N]={ll,5,12,0,3,6,9,7,10,8},n=10,i;
for(i=0;
%d"
b[i]);
fun(b,n);
b[i]);
m个人的成绩存放在score数组中,请编写函数fun(),它的功能是将高于平均分的人数作为函数值返回,将高于平均分的分数放在up所指的数组中。
例如,当score数组中的数据为24,35,88,76,90,54,59,66,96时,函数返回的人数应该是5,up中的数据应为88,76,90,66,96。
intfun(intscore[],intm,intup[])
{inti,n,up[9];
intscore[9]={24,35,88,76,90,54,59,66,96};
n=fun(score,9,up);
\nuptotheaveragescoreare:
for(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 上机 考试 试题 详解
![提示](https://static.bdocx.com/images/bang_tan.gif)