计算机二级C语言考试上机题填空题部分整理汇总.docx
- 文档编号:16701056
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:123
- 大小:43.83KB
计算机二级C语言考试上机题填空题部分整理汇总.docx
《计算机二级C语言考试上机题填空题部分整理汇总.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言考试上机题填空题部分整理汇总.docx(123页珍藏版)》请在冰点文库上搜索。
计算机二级C语言考试上机题填空题部分整理汇总
1.填空题
请补充main函数,该函数的功能是:
把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存原来的字符串中。
例如:
当str[N]="123abcdefABCDEF!
",结果输出:
"123ABCDEFABCDEF!
"。
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#include
#defineN80
voidmain()
{intj;
charstr[N]="123abcdefABCDEF!
";
char*pf=str;
system("CLS");
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");}
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
#include
#include
voidmain()
{floata,b,c,disc,x1,x2;
system("CLS");
do{
printf("Inputa,b,c:
");
scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
printf("disc=%f\nInputagain!
\n",disc);
}while(【1】);
printf("*******theresult*******\n");
x1=【2】;
x2=【3】;
printf("\nx1=%6.2f\nx2=%6.2f\n",x1,x2);}
3.填空题
请补充函数fun(),该函数的功能是:
把一个整数转换成字符串,并倒序保存在字符数组str中。
例如:
当n=13572468时,str="86427531"。
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#include
#defineN80
charstr[N];
voidfun(longintn)
{inti=0;
while(【1】)
{str[i]=【2】;
n/=10;
i++;}
【3】;}
voidmain()
{longintn=13572468;
system("CLS");
printf("***theorigialdata***\n");
printf("n=%ld",n);
fun(n);
printf("\n%s",str);}
4.填空题
数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num传入函数fun()。
请补充函数fun(),该函数的功能是:
从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。
例如:
当xx[8]={135,787,232,222,424,333,141,541}时,bb[6]={787,232,222,424,333,141}。
注意:
部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#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】;} voidmain() {intxx[8]={135,787,232,222,424,333, 141,541}; intyy[N]; intnum=0,n=0,i=0; num=8; system("CLS"); 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]);} 5.填空题 请补充main函数,该函数的功能是求方程ax2+bx+c=0的根(方程的系数a,b,c从键盘输入)。 例如,当a=1,b=2,c=1时,方程的两个根分别是: x1=-1.00,x2=-1.00。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #include voidmain() {floata,b,c,disc,x1,x2,p,q; scanf("%f,%f,%f",&a,&b,&c); disc=b*b-4*a*c; system("CLS"); printf("*******theresult*******\n"); if(disc>=0) {x1=【1】; x2=(-b-sqrt(disc))/(2*a); printf("x1=%6.2f,x2=%6.2f\n",x1,x2);} else {p=【2】; q=【3】; printf("x1=%6.2f+%6.2fi\n",p,q); printf("x2=%6.2f-%6.2fi\n",p,q);}} 6.填空题 请补充函数fun(),该函数的功能是: 计算N×N维矩阵元素的方差,结果由函数返回。 维数N在主函数中输入。 例如: 的计算结果是14.414 求方差的公式为: 其中 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #include #defineN20 doublefun(【1】,intn) {inti,j; doubles=0.0; doublef=0.0; doubleaver=0.0; doublesd=0.0; for(i=0;i for(j=0;j s+=a[i][j]; aver=【2】; for(i=0;i for(j=0;j f+=(a[i][j]-aver)*(a[i][j]-aver); f/=(n*n); sd=【3】; returnsd;} voidmain() {inta[N][N]; intn; inti,j; doubles; system("CLS"); printf("*****Inputthedimensionof arrayN*****\n"); scanf("%d",&n); printf("*****Thearray*****\n"); for(i=0;i {for(j=0;j {a[i][j]=rand()%50; while(a[i][j]==0) a[i][j]=rand()%60; printf("%4d",a[i][j]);} printf("\n\n");} s=fun(a,n); printf("*****THERESULT*****\n"); printf("%4.3f\n",s);} 7.填空题 请补充函数fun(),该函数的功能是: 把从主函数中输入的字符串str2倒置后接在字符串str1后面。 例如: str1="Howdo",str2="? oduoy",结果输出: "Howdoyoudo? "。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #defineN40 voidfun(char*str1,char*str2) {inti=0,j=0,k=0,n; charch; char*p1=str1; char*p2=str2; while(*(p1+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】;i++) *(p1+i)=*p2++; *(p1+i)='\0';} voidmain() {charstr1[N],str2[N]; system("CLS"); printf("***Inputthestringstr1&str2 ***\n"); printf("\nstr1: "); gets(str1); printf("\nstr2: "); gets(str2); printf("***Thestringstr1&str2***\n"); puts(str1); puts(str2); fun(str1,str2); printf("***Thenewstring***\n"); puts(str1);} 8.填空题 请补充函数fun(),该函数的功能是: 按'0'到'9'统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。 注意: 不能使用字符串库函数。 例如: 输入"x=112385713.456+0.909*bc",结果为: 1=3,3=2,5=2,7=1,9=2。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #defineN1000 voidfun(char*tt,intnum[]) {inti,j; intbb[10]; char*p=tt; for(i=0;i<10;i++) {num[i]=0; bb[i]=0;} while(【1】) {if(*p>='0'&&*p<='9') 【2】; p++;} for(i=1,j=0;i<10;i=i+2,j++) 【3】;} voidmain() {charstr[N]; intnum[10],k; system("CLS"); printf("\nPleaseenteracharstring: "); gets(str); printf("\n**Theoriginalstring**\n"); puts(str); fun(str,num); printf("\n**Thenumberofletter**\n"); for(k=0;k<5;k++) {printf("\n"); printf("%d=%d",2*k+1,num[k]);} printf("\n");} 9.填空题 请补充main函数,该函数的功能是: 从字符串str中取出所有数字字符,并分别计数,然后把结果保存在数组b中并输出,把其他字符保存在b[10]中。 例如: 当str1="ab123456789cde090"时,结果为: 0: 21: 12: 13: 14: 15: 16: 17: 18: 19: 2othercharactor: 5 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include voidmain() {inti,b[11]; char*str="ab123456789cde090"; char*p=str; system("CLS"); printf("***theorigialdata***\n"); puts(str); for(i=0;i<11;i++) b[i]=0; while(*p) {switch(【1】) {case'0': b[0]++;break; case'1': b[1]++;break; case'2': b[2]++;break; case'3': b[3]++;break; case'4': b[4]++;break; case'5': b[5]++;break; case'6': b[6]++;break; case'7': b[7]++;break; case'8': b[8]++;break; case'9': b[9]++;break; 【2】} 【3】} printf("******theresult********\n"); for(i=0;i<10;i++) printf("\n%d: %d",i,b[i]); printf("\nothercharactor: %d",b[i]);} 10.填空题 请补充main函数,该函数的功能是: 从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。 例如,输入: -3847652,结果为: 3847652。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include voidmain() {longintn; system("CLS"); printf("Enterthedata: \n"); scanf(【1】); printf("***theabsolutevalue***\n"); if(n<0) 【2】 printf("\n\n"); printf(【3】);} 11.填空题 请补充main函数,该函数的功能是: 从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。 例如,当str1="cdefghij",则str2="cegi"。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #defineLEN80 voidmain() {charstr1[LEN],str2[LEN]; char*p1=str1,*p2=str2; inti=0,j=0; system("CLS"); printf("Enterthestring: \n"); scanf(【1】); printf("***theorigialstring***\n"); while(*(p1+j)) {printf("【2】",*(p1+j)); j++;} for(i=0;i *p2++=*(str1+i); *p2='\0'; printf("\nThenewstringis: %s\n",【3】);} 12.填空题 请补充main函数,该函数的功能是: 从一个字符串中截取前面若干个给定长度的子字符串。 其中,str1指向原字符串,截取后的字符存放在str2所指的字符数组中,n中存放需截取的字符个数。 例如: 当str1="cdefghij",然后输入4,则str2="cdef"。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #defineLEN80 voidmain() {charstr1[LEN],str2[LEN]; intn,i; system("CLS"); printf("Enterthestring: \n"); gets(str1); printf("Enterthepositionofthestring deleted: "); scanf(【1】); for(i=0;i 【2】 str2[i]='\0'; printf("Thenewstringis: %s\n",【3】);} 13.填空题 请补充函数fun(),该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回"yes! ",否则返回"no! "。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include char*fun(intn) {intg,s,b; g=n%10; s=n/10%10; b=【1】; if((g+b)==s) return【2】; else return【3】;} voidmain() {intnum=0; system("CLS"); printf("******Inputdata*******\n"); scanf("%d",&num); printf("\n\n\n"); printf("******Theresult*******\n"); printf("\n\n\n%s",fun(num));} 14.填空题 从键盘输入一组无符号整数并保存在数组xx[N]中,以整数0结束输入,要求这些数的最大位数不超过4位,其元素的个数通过变量num传入函数fun()。 请补充函数fun(),该函数的功能是: 从数组xx中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。 例如: 当xx[8]={123,11,25,222,42,333,14,5451}时, bb[4]={25,42,333,5451}。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #defineN1000 intfun(intxx[],intbb[],intnum) {inti,n=0; intg,s; for(i=0;i {g=【1】; s=xx[i]/10%10; if((g+s)>5) 【2】;} return【3】;} voidmain() {intxx[N]; intyy[N]; intnum=0,n=0,i=0; printf("Inputnumber: \n"); do {scanf("%u",&xx[num]);} while(xx[num++]! =0); n=fun(xx,yy,num); printf("\nyy="); for(i=0;i printf("%u",yy[i]);} 15.填空题 str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。 请补充函数fun(),该函数的功能是: 把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。 例如: str="Bcd123e456hui890",结果为: 123456890。 注意: 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #defineN80 intbb[N]; intfun(chars[],intbb[],intnum) {inti,n=0; for(i=0;i {if(【1】) {bb[n]=【2】; n++;}} return【3】;} void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 考试 上机 填空 部分 整理 汇总