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;iscanf("%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;kprintf("");
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;iprintf("%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(*XXif(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;XXprintf("%3d",x[XX]);
printf("\n\nSecondArray:
\n");
for(YY=0;YYprintf("%3d",y[YY]);
printf("\n\nThirdArray:
\n");
for(ZZ=0;ZZprintf("%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