计算机类考试所有C语言题库
所属语言:C语言
试卷方案:所有C语言题库
试卷总分:1220分
共有题型:1种
一、程序填空共122题(共计1220分)
第1题(10.0分)题号:558 难度:中第2章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:一个40磅重的板碎成4块,每块正好是一个整数磅,且用这
4块当砝码能称出1~40磅的整数重量的物体。编程求这4块的各自重量。
-------------------------------------------------------*/
#include
#include
main()
{
int i,j,k,l,p,t1,t2,t3,t4;
for(i=1;i<38;i++)
/***********SPACE***********/
for(【?】;j<38-i;j++)
/***********SPACE***********/
for(k=j;k<【?】;k++)
{
l=40-i-j-k;
for(p=1;p<40;p++)
{
for(t1=-1;t1<2;t1++)
for(t2=-1;t2<2;t2++)
for(t3=-1;t3<2;t3++)
for(t4=-1;t4<2;t4++)
/***********SPACE***********/
if(【?】==p) goto next;
break;
/***********SPACE***********/
next:if(p==【?】)
{
printf("%d,%d,%d,%d\n",i,j,k,l);
exit(0);
}
}
}
printf("error.");
}
答案:
=======(答案1)=======
j=i
=======(答案2)=======
39-i-j
=========或=========
39 -i -j
=======(答案3)=======
i*t1+j*t2+k*t3+l*t4
=========或=========
i * t1 + j * t2 + k * t3 + l * t4
=======(答案4)=======
39
第2题(10.0分)题号:525 难度:较易第2章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:利用全局变量计算长方体的体积及三个面的面积。
-------------------------------------------------------*/
#include
int s1,s2,s3;
int vs(int a,int b,int c)
{
int v;
/***********SPACE***********/
v=【?】;
s1=a*b;
/***********SPACE***********/
s2=【?】;
s3=a*c;
return v;
}
main()
{
int v,l,w,h;
printf("\ninput length,width and height: ");
/***********SPACE***********/
scanf("%d%d%d",【?】,&w,&h);
/***********SPACE***********/
v=【?】;
printf("v=%d s1=%d s2=%d s3=%d\n",v,s1,s2,s3); }
答案:
=======(答案1)=======
a*b*c
=========或=========
a*c*b
=========或=========
b*a*c
=========或=========
b*c*a
=========或=========
c*a*b
=========或=========
c*b*a
=======(答案2)=======
b*c
=========或=========
c*b
=======(答案3)=======
&l
=======(答案4)=======
vs(l,w,h)
第3题(10.0分)题号:356 难度:易第1章/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:从键盘输入一组整数,使用条件表达式找出最大的整数。
当输入的整数为 0 时结束。
例如,输入 1 2 3 5 4 0 时,输出"max=5"。
-------------------------------------------------------*/
#include
#include
main()
{
int num=-1;
int max = 0;
printf("请输入一组整数: \n");
/***********SPACE***********/
【?】(num!=0)
{
scanf("%d",&num);
/***********SPACE***********/
max = 【?】 ? num : max;
}
/***********SPACE***********/
【?】("max=%d\n", max);
}
答案:
=======(答案1)=======
while
=======(答案2)=======
num>max
=========或=========
num>=max
=========或=========
max =========或========= max<=num =======(答案3)======= printf 第4题(10.0分)题号:537 难度:易第2章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于 零的整数个数,用变量j统计小于零的整数个数。 -------------------------------------------------------*/ #include main() { int n,i,j; printf("Enter iNT number,with 0 to end\n"); i=j=0; scanf("%d",&n); while(n!=0) { /***********SPACE***********/ if(n>0)i=【?】; /***********SPACE***********/ if(n<0)j=【?】; /***********SPACE***********/ scanf("%d",【?】); } printf("i=%4d,j=%4d\n",i,j); } 答案: =======(答案1)======= i+1 =========或========= 1+i =======(答案2)======= j+1 =========或========= 1+j =======(答案3)======= &n 第5题(10.0分)题号:364 难度:中第6章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:计算并输出high以内最大的10个素数之和,high由主函数传给fun函数,若high的值为100,则函数的值为732。 -------------------------------------------------------*/ #include #include #include int fun( int high ) { int sum=0,n=0,j,yes; /***********SPACE***********/ while((high>=2) && (【?】)) { yes=1; for (j=2;j<=high/2;j++ ) /***********SPACE***********/ if (【?】) { yes=0; break; } if(yes) { sum+=high; n++; } high--; } /***********SPACE***********/ 【?】; } main( ) { printf("%d\n", fun(100)); } 答案: =======(答案1)======= n<10 =========或========= 10>n =========或========= n<=9 =========或========= 9>=n =======(答案2)======= high%j==0 =========或========= !(high%j) =======(答案3)======= return sum =========或========= return(sum) 第6题(10.0分)题号:353 难度:易第6章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。 例如:当N=150时,可分解成1×2×3×5×5; 当N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 -------------------------------------------------------*/ #include #include main() int n,i,r; scanf("%d",&n); if (n==0) { printf ("data error \n"); exit(0); } /***********SPACE***********/ else if (【?】) printf("n=1"); else { printf("n=-1"); n=-n; } /***********SPACE***********/ for(【?】;i<=n;i++) { /***********SPACE***********/ 【?】 ; while(r==0) { printf("*%d",i); /***********SPACE***********/ 【?】 ; r=n%i; } } printf("\n"); } 答案: =======(答案1)======= n>0 =========或========= 0 =======(答案2)======= i=2 =======(答案3)======= r=n%i =======(答案4)======= n=n/i =========或========= n/=i 第7题(10.0分)题号:584 难度:中第2章 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:如果整数A的全部因子(包括1,不包括A本身)之和等 于B;且整数B的全部因子 ( 包括1,不包括B本身 ) 之和等于A,则将整数A和B称为亲密数。求 3000 以内 的全部亲密数。 -------------------------------------------------------*/ #include #include main( ) { int a, i, b, n ; printf("Friendly-numbers pair samller than 3000:\n") ; for(a=1 ; a<3000 ; a++) { for(b=0,i=1 ; i<=a/2 ; i++ ) /***********SPACE***********/ if(!(a%i)) 【?】 ; for(n=0,i=1 ; i<=b/2 ; i++) /***********SPACE***********/ if(!(b%i)) 【?】 ; /***********SPACE***********/ if(【?】 && a printf("%4d~%4d\n",a,b) ; } } 答案: =======(答案1)======= b+=i =========或========= b=b+i =======(答案2)======= n+=i =========或========= n=n+i =======(答案3)======= n == a 第8题(10.0分)题号:535 难度:易第2章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3 元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡 各多少只? 此处用的while循环,之前我们用的for循环 -------------------------------------------------------*/ #include main() { int cocks,hens,chicks; //公鸡kɑ?k,母鸡hen,小鸡t??k cocks=0; while(cocks<=19) { /***********SPACE***********/ 【?】=0; /***********SPACE***********/ while(hens<=【?】) { chicks=100-cocks-hens; if(5*cocks+3*hens+chicks/3==100) //此处有点问题,应加上&&(chicks%3==0),比如3,20,77 printf("%d,%d,%d\n",cocks,hens,chicks); /***********SPACE***********/ 【?】; } /***********SPACE***********/ 【?】; } } 答案: =======(答案1)======= hens =======(答案2)======= 33 =======(答案3)======= hens++ =========或========= ++hens =========或========= hens=hens+1 =========或========= hens=1+hens =======(答案4)======= cocks++ =========或========= ++cocks =========或========= cocks=cocks+1 =========或========= cocks=1+cocks 第9题(10.0分)题号:345 难度:易第1章/*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:从键盘键盘输入3个整数,然后找出最大的数并输出。 例如:输入"12,45,43", 输出 "三个数是:12,45,43.最大数是:45."。 -------------------------------------------------------*/ #include #include main() { int a, b, c, max; printf("请输入三个整数:\n"); /***********SPACE***********/ 【?】("%d,%d,%d",&a, &b, &c); printf("三个数是:%d,%d,%d.", a, b, c); /***********SPACE***********/ if (【?】) max=a; else max=b;