C语言程序填空题库.docx
- 文档编号:25008858
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:247
- 大小:63.64KB
C语言程序填空题库.docx
《C语言程序填空题库.docx》由会员分享,可在线阅读,更多相关《C语言程序填空题库.docx(247页珍藏版)》请在冰豆网上搜索。
C语言程序填空题库
程序填空
一、程序填空共129题(共计1290分)
第1题(10.0分)题号:
473
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
输出1到100之间每位数的乘积大于每位数的和的数。
例如:
数字26,数位上数字的乘积12大于数字之和8。
-------------------------------------------------------*/
#include
main()
{
intn,k=1,s=0,m;
for(n=1;n<=100;n++)
{
k=1;
s=0;
/***********SPACE***********/
【?
】;
/***********SPACE***********/
while(【?
】)
{
k*=m%10;
s+=m%10;
/***********SPACE***********/
【?
】;
}
if(k>s)
printf("%d",n);
}
}
答案:
=======(答案1)=======
m=n
=======(答案2)=======
m>0
=========或=========
0 =======(答案3)======= m=m/10 =========或========= m/=10 第2题(10.0分)题号: 447 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 已知一个数列,它的头两项分别是0和1,从第三项开始以 后的每项都是其前两项之和。 编程打印此数,直到某项的 值超过200为止。 -------------------------------------------------------*/ #include main() { inti,f1=0,f2=1; /***********SPACE***********/ for(【? 】;;i++) { printf("5%d",f1); /***********SPACE***********/ if(f1>【? 】)break; printf("5%d",f2); if(f2>200)break; if(i%2==0)printf("\n"); f1+=f2; /***********SPACE***********/ f2+=【? 】; } printf("\n"); } 答案: =======(答案1)======= i=1 =======(答案2)======= 200 =======(答案3)======= f1 第3题(10.0分)题号: 22 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 打印以下图形。 ***** ***** ***** ***** ***** -------------------------------------------------------*/ #include main() { chara[5][9]={""}; inti,j; for(i=0;i<5;i++) /***********SPACE***********/ for(j=i;【? 】;j++) a[i][j]='*'; /***********SPACE***********/ for(【? 】;i<5;i++) { for(j=0;j<9;j++) /***********SPACE***********/ printf("%c",【? 】); /***********SPACE***********/ 【? 】; } } 答案: =======(答案1)======= j =========或========= i+5>j =========或========= j<=i+4 =========或========= i+4>j =======(答案2)======= i=0 =======(答案3)======= a[i][j] =======(答案4)======= printf("\n") 第4题(10.0分)题号: 452 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 从键盘输入若干行字符,输入后把他们存储到一磁盘文件 中。 在从该文件中读出这些数据,将其中的小写字母转换 成大写字母后在屏幕上输出。 -------------------------------------------------------*/ #include #include #defineN100 main() { FILE*fp; charc,*p,s[N][20]; inti,n; printf("n=");scanf("%d",&n); /***********SPACE***********/ if(n<1【? 】n>N)exit(0); printf("input%dstring: \n",n); for(i=0;i scanf("%s",s[i]); /***********SPACE***********/ fp=fopen("text",【? 】); for(i=0;i { p=s[i]; while(*p! ='\0') /***********SPACE***********/ if(! ferror(fp))fputc(【? 】,fp); } fclose(fp); printf("\n"); /***********SPACE***********/ fp=fopen("text",【? 】); while((c=fgetc(fp))! =EOF) { if(c>'a'&&c<='z')c=+32; putchar(c); } printf("\n"); fclose(fp); } 答案: =======(答案1)======= || =======(答案2)======= "w" =======(答案3)======= *p++ =======(答案4)======= "r" 第5题(10.0分)题号: 398 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 打印出如下图案(菱形) * *** ***** ******* ***** *** * -------------------------------------------------------*/ #include main() { inti,j,k; /***********SPACE***********/ for(i=0;【? 】;i++) { for(j=0;j<=4-i;j++) printf(""); /***********SPACE***********/ for(k=1;k<=【? 】;k++) printf("*"); printf("\n"); } /***********SPACE***********/ for(【? 】;j<3;j++) { for(k=0;k printf(""); for(k=0;k<5-2*j;k++) printf("*"); printf("\n"); } } 答案: =======(答案1)======= i<=3 =========或========= i<4 =========或========= 3>=i =========或========= 4>i =======(答案2)======= 2*i+1 =========或========= i*2+1 =========或========= 1+2*i =========或========= 1+i*2 =======(答案3)======= j=0 第6题(10.0分)题号: 625 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 有一整数数组x(正序排列),判断是否有数组元素x[i]=i 的情况发生。 -------------------------------------------------------*/ #include intindex_search(intx[],intn) { intfirst=0; intlast=n-1; intmiddle,index; index=-1; while(first<=last) { middle=(first+last)/2; /***********SPACE***********/ if(【? 】) { index=middle; break; } /***********SPACE***********/ elseif(【? 】) last=middle-1; else first=middle+1; } returnindex; } #include voidmain(void) { intx[]={-1,0,1,3,5,7,9,10}; intn=sizeof(x)/sizeof(int); intanswer,i; printf("\nindexSearchProgram"); printf("\n===================="); printf("\n\nGivenArray: "); for(i=0;i printf("%5d",x[i]); /***********SPACE***********/ 【? 】; if(answer>=0) printf("\n\nYES,x[%d]=%dhasbeenfound.",answer,answer); else printf("\n\nNO,thereisnoelementwithx[i]=i"); } 答案: =======(答案1)======= x[middle]==middle =======(答案2)======= x[middle]>middle =========或========= middle =======(答案3)======= answer=index_search(x,n) 第7题(10.0分)题号: 484 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 识别输入的字符串,每个单词输出一行 -------------------------------------------------------*/ #include #include voidmain() { intc; intinspace; /***********SPACE***********/ 【? 】; while((c=getchar())! ='\n') { if(c==''||c=='\t'||c=='\n') { /***********SPACE***********/ if(【? 】) { inspace=1; putchar('\n'); } } else { inspace=0; /***********SPACE***********/ 【? 】; } } } 答案: =======(答案1)======= inspace=0 =======(答案2)======= inspace==0 =======(答案3)======= putchar(c) 第8题(10.0分)题号: 448 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 已知X、Y、Z分别表示0~9中不同的数字,编程求出使算式 XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该 算式。 -------------------------------------------------------*/ #include #include main() { intx,y,z; /***********SPACE***********/ for(x=0;【? 】;x++) for(y=0;y<10;y++) { if(y==x)continue; for(z=0;z<10;z++) { /***********SPACE***********/ if(z==x【? 】z==y)continue; /***********SPACE***********/ if(1111*(x+y+z)==【? 】+1110*x+z) { printf("x=%d,y=%d,z=%d\n",x,y,z); /***********SPACE***********/ printf("%d+%d+%d=%d\n",1111*x,1111*y,1111*z,【? 】); exit(0); } } } } 答案: =======(答案1)======= x<10 =========或========= 10>x =======(答案2)======= || =======(答案3)======= 10000*y =========或========= y*10000 =======(答案4)======= 10000*y+1110*x+z =========或========= 10000*y+1110*x+z 第9题(10.0分)题号: 13 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 产生并输出杨辉三角的前七行。 1 11 121 1331 14641 15101051 1615201561 -------------------------------------------------------*/ #include main() { inta[7][7]; inti,j; for(i=0;i<7;i++) { a[i][0]=1; /***********SPACE***********/ 【? 】; } for(i=2;i<7;i++) /***********SPACE***********/ for(j=1;j<【? 】;j++) /***********SPACE***********/ a[i][j]=【? 】; for(i=0;i<7;i++) { /***********SPACE***********/ for(j=0;【? 】;j++) printf("%6d",a[i][j]); printf("\n"); } } 答案: =======(答案1)======= a[i][i]=1 =======(答案2)======= i =======(答案3)======= a[i-1][j]+a[i-1][j-1] =========或========= a[i-1][j-1]+a[i-1][j] =======(答案4)======= j<=i =========或========= i>=j =========或========= j =========或========= i+1>j =========或========= j-1 =========或========= i>j-1 第10题(10.0分)题号: 482 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 找出三个增序数组中值相同的数。 -------------------------------------------------------*/ #include #defineFOUND1 #defineNOT_FOUND0 intsearch(intx[],inty[],intz[], intX,intY,intZ, int*XX,int*YY,int*ZZ) { *XX=*YY=*ZZ=0; while(*XX if(x[*XX] (*XX)++; elseif(y[*YY] (*YY)++; /***********SPACE***********/ elseif(【? 】) (*ZZ)++; else /***********SPACE***********/ 【? 】; returnNOT_FOUND; } #include voidmain(void) { intx[]={1,3,5,7,9,11,13,15,17,19}; inty[]={2,4,9,10,12,14,16,18,20,21}; intz[]={1,2,3,4,5,6,7,8,9,10}; intX=sizeof(x)/sizeof(int); intY=sizeof(y)/sizeof(int); intZ=sizeof(z)/sizeof(int); intXX,YY,ZZ; printf("\nSearchforaCommonElementfromThreeArrays"); printf("\n============================================="); printf("\n\nFirstArray: \n"); for(XX=0;XX printf("%3d",x[XX]); printf("\n\nSecondArray: \n"); for(YY=0;YY printf("%3d",y[YY]); printf("\n\nThirdArray: \n"); for(ZZ=0;ZZ printf("%3d",z[ZZ]); /***********SPACE***********/ if(search(x,y,z,X,Y,Z,【? 】)>0) printf("\n\n%discommontox[%d],y[%d]andz[%d]", x[XX],XX,YY,ZZ); else printf("\n\nNOCOMMONELEMENTFOUND."); } 答案: =======(答案1)======= z[*ZZ] =========或========= x[*XX]>z[*ZZ] =======(答案2)======= returnFOUND =========或========= return1 =======(答案3)======= &XX,&YY,&ZZ 第11题(10.0分)题号: 454 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 三角形的面积为: area
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 填空 题库