《电脑编程 所有C语言题库.docx》由会员分享,可在线阅读,更多相关《电脑编程 所有C语言题库.docx(140页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、试卷编号:2203所属语言:C语言试卷方案:所有C语言题库试卷总分:1220分共有题型:1种一、程序填空 共122题 (共计1220分)第1题 (10.0分) 题号:558 难度:中 第2章/*-【程序填空】-功能:一个40磅重的板碎成4块,每块正好是一个整数磅,且用这 4块当砝码能称出140磅的整数重量的物体。编程求这4块 的各自重量。-*/#include #include main() int i,j,k,l,p,t1,t2,t3,t4; for(i=1;i38;i+) /*SPACE*/ for(【?】;j38-i;j+) /*SPACE*/ for(k=j;k【?】;k+) l=40
2、-i-j-k; for(p=1;p40;p+) for(t1=-1;t12;t1+) for(t2=-1;t22;t2+) for(t3=-1;t32;t3+) for(t4=-1;t42;t4+) /*SPACE*/ if(【?】=p) goto next; break; /*SPACE*/ next:if(p=【?】) printf(%d,%d,%d,%dn,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 +
3、 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
4、); /*SPACE*/ v=【?】; printf(v=%d s1=%d s2=%d s3=%dn,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
5、num=-1; int max = 0; printf(请输入一组整数: n); /*SPACE*/ 【?】(num!=0) scanf(%d,&num); /*SPACE*/ max = 【?】 ? num : max; /*SPACE*/ 【?】(max=%dn, max);答案:=(答案1)=while=(答案2)=nummax=或=num=max=或=maxnum=或=max=num=(答案3)=printf第4题 (10.0分) 题号:537 难度:易 第2章/*-【程序填空】-功能:从读入的整数数据中,统计大于零的整数个数和小于零的 整数个数。用输入零来结束输入,程序中用变量i统计
6、大于 零的整数个数,用变量j统计小于零的整数个数。-*/#include main() int n,i,j; printf(Enter iNT number,with 0 to endn); i=j=0; scanf(%d,&n); while(n!=0) /*SPACE*/ if(n0)i=【?】; /*SPACE*/ if(n0)j=【?】; /*SPACE*/ scanf(%d,【?】); printf(i=%4d,j=%4dn,i,j);答案:=(答案1)=i+1=或=1+i=(答案2)=j+1=或=1+j=(答案3)=&n第5题 (10.0分) 题号:364 难度:中 第6章/*-【
7、程序填空】-功能:计算并输出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(%dn,
8、fun(100);答案:=(答案1)=nn=或=n=n=(答案2)=high%j=0=或=!(high%j)=(答案3)=return sum=或=return(sum)第6题 (10.0分) 题号:353 难度:易 第6章/*-【程序填空】-功能:对任一整数N(N0),它都可以分解成1(或-1)和一些质数(素 数)因子的形式。例如:当N=150时,可分解成12355; 当N=-150时,可分解为-12355。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5-*/#include #include main() int n,i,r; scanf(
9、%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(【?】;i0=或=0n=(答案2)=i=2=(答案3)=r=n%i=(答案4)=n=n/i=或=n/=i第7题 (10.0分) 题号:584 难度:中 第2章/*-【程序填空】-功能:如果整数的全部因子(包括,不包括本身)之和等 于;且整数的全部因子 ( 包括,不包括本身 ) 之和等于,则将整数和称为亲密数。求 3000 以内 的全部亲密数。-*/
10、#include #include main( ) int a, i, b, n ; printf(Friendly-numbers pair samller than 3000:n) ; for(a=1 ; a3000 ; 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(【?】 & ab) printf(%4d%4dn,a,b) ; 答案:=(答案1)=b+=i=或=b=b+i=(答案2)=n+=i
11、=或=n=n+i=(答案3)=n = a第8题 (10.0分) 题号:535 难度:易 第2章/*-【程序填空】-功能:百鸡问题:100元买100只鸡,公鸡一只5元钱,母鸡一只3 元钱,小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡 各多少只?-*/#include main() int cocks,hens,chicks; cocks=0; while(cocks=19) /*SPACE*/ 【?】=0; /*SPACE*/ while(hens=【?】) chicks=100-cocks-hens; if(5*cocks+3*hens+chicks/3=100) printf(%d,%d
12、,%dn,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 #i
13、nclude 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; if (maxb=或=a=b=或=ba=或=b=a=(答案3)=max第10题 (10.0分) 题号:579 难度:易 第2章/*-【程序填空】-功能:输出1到100之间每位数的乘积大于每位数的和的数。例如:数字26,数位上数字的乘积12大于数字之和8。-*/#include main(
14、) int n,k=1,s=0,m; for(n=1;ns) printf(%d ,n); 答案:=(答案1)=m=n=(答案2)=m0=或=0m=(答案3)=m=m/10=或=m/=10第11题 (10.0分) 题号:539 难度:较易 第2章/*-【程序填空】-功能:计算圆周率的近似值。-*/#include #include main() int s,n; /*SPACE*/ double 【?】,t; t=1;pi=0;n=1;s=1; /*SPACE*/ while(【?】=2e-6) pi+=t;n+=2;s=-s;t=s/n; /*SPACE*/ pi*=【?】; printf(
15、pi=%.6fn,pi);答案:=(答案1)=pi=(答案2)=fabs(t)=(答案3)=4第12题 (10.0分) 题号:606 难度:中 第1章/*-【程序填空】-给定程序中,sum(int n)函数的功能是:递归调用计算1n的累加和。请填空。例如:输入:100输出:5050-*/#include stdio.hint sum(int n) if(n=1) /*SPACE*/ 【?】; else/*SPACE*/ 【?】;void main() int m; scanf(%d,&m); printf(%d,sum(m);答案:=(答案1)=return(1)=(答案2)=return(s
16、um(n-1) + n)第13题 (10.0分) 题号:360 难度:易 第1章/*-【程序填空】-题目:打印出11000中满足个位上的数字、十位上的数字和百位 上的数字都相等的所有三位数。 本题输出111,222,333,444,555,666,777,888,999, 1000-*/#include main() int i,g, s, b; for (i=1; i=1000; i+) /*SPACE*/ g=【?】; s=(i/10)%10; /*SPACE*/ b=(【?】)%10;/*SPACE*/ if(g=s 【?】 s=b) printf(%d,i); 答案:=(答案1)=i%
17、10=(答案2)=i/100=(答案3)=&第14题 (10.0分) 题号:561 难度:易 第2章/*-【程序填空】-功能:三角形的面积为:area=sqrt(s*(s-a)*(s-b)*(s-c).其中 ,s=(a+b+c)/2,a、b、c为三角形三条边的长。定义两个带 参数的宏,一个用来求s,另一个用来求area。编写程序, 在程序中用带参数的宏求面积area。-*/#include #include math.h/*SPACE*/#【?】 S(x,y,z)(x+y+z)/2#define AREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z)main() doubl
18、e area; float a,b,c,s; printf(a,b,c=); /*SPACE*/ scanf(%f,%f,%f,&a,【?】,&c); if(a+bc&b+ca&c+ab) /*SPACE*/ s=【?】; /*SPACE*/ area=【?】; printf(area=%fn,area); 答案:=(答案1)=define=(答案2)=&b=(答案3)=S(a,b,c)=(答案4)=AREA(s,a,b,c)第15题 (10.0分) 题号:557 难度:易 第2章/*-【程序填空】-功能:算式:?2*7?=3848中缺少一个十位数和一个个位数。编 程求出使该算式成立时的这两个
19、数,并输出正确的算式。-*/#include #include main() int x,y; /*SPACE*/ for(x=1;【?】;x+) /*SPACE*/ for(【?】;y10;y+) /*SPACE*/ if(【?】=3848) /*SPACE*/ printf(%d*%d=3848n,【?】); exit(0); 答案:=(答案1)=xx=或=x=x=(答案2)=y=0=(答案3)=(10*x+2)*(70+y)=或=( 10 * x + 2 ) * ( 70 + y )=(答案4)=10*x+2,70+y=或=10 * x + 2 , 70 + y第16题 (10.0分) 题号:496 难度:易 第1章/*-【程序填空】-题目:给定程序中,函数fun的功能是:根据形参i的值返回某个函数的值。 当调用正确时,程序输出:x15.000000,x23.000000,x1*x1+x1*x2=40.000000。-*/#include double f1(double x) return x*x; double f2(double x, double y) return x*y; double fun(int i, double x, double y) if (i=1)/*SPACE*/ return 【?】(x); else/*SPACE*/ return 【
限制150内