1、c语言题库程序填空试卷编号:8301所属语言:C语言试卷方案:C-程序填空试卷总分:1290分共有题型:1种一、程序填空 共129题 (共计1290分)第1题 (10、0分) 题号:35/*-【程序填空】-功能:计算并输出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=h
2、igh/2; j+ ) /*SPACE*/ if (【?】) yes=0; break; if (yes) sum +=high; n+; high-; /*SPACE*/ 【?】;main ( ) printf(%dn, fun (100);答案:=(答案1)=nn=(答案2)=high%j = 0=或=!(high%j)=(答案3)=return sum=或=return (sum)第2题 (10、0分) 题号:401/*-【程序填空】-功能:输入某年某月某日,判断这一天就是这一年的第几天?-*/#include main() int day,month,year,sum,leap; pr
3、intf(nplease input year,month,dayn); scanf(%d,%d,%d,&year,&month,&day); switch(month) case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; /*SPACE*/ case 4:【?】;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=27
4、3;break; case 11:sum=304;break; case 12:sum=334;break; default:printf(data error);break; /*SPACE*/ 【?】; /*SPACE*/ if(year%400=0|(【?】) leap=1; else leap=0; /*SPACE*/ if(【?】) sum+; printf(it is the %dth day、,sum);答案:=(答案1)=sum=90=(答案2)=sum=sum+day=或=sum= sum + day=(答案3)=year%4 = 0 & year%100 != 0)=(答案
5、4)=leap=1&month2=或=leap = 1 & month2=或=leap = 1 & 2month第3题 (10、0分) 题号:21/*-【程序填空】-功能:将一个字符串中的前N个字符复制到一个字符数组中去, 不许使用strcpy函数。-*/#include main ( ) char str180,str280; int i,n; /*SPACE*/ gets(【?】); scanf(%d,&n); /*SPACE*/ for (i=0; 【?】 ;i+) /*SPACE*/ 【?】; /*SPACE*/ 【?】; printf(%sn,str2);答案:=(答案1)=str1
6、=(答案2)=ii=或=i=i=(答案3)=str2i=str1i=或=*(str2+i)=*(str1+i)=或=*(str2+i)=str1i=或=str2i=*(str1+i)=(答案4)=str2n=0=或=str2i=0=或=str2n=0=或=str2i=0=或=*(str2+n)=0=或=*(str2+i)=0=或=*(str+n)=0=或=*(str2+i)=0第4题 (10、0分) 题号:443/*-【程序填空】-功能:企业发放的奖金根据利润提成。利润(i)低于或等于10万元 时,奖金可提10%;利润高于10万元,低于20万元时,低于 10万元的部分按10%提成,高于10万元
7、的部分,可可提成7、5% ;20万到40万之间时,高于20万元的部分,可提成5%;40万 到60万之间时高于40万元的部分,可提成3%;60万到100万 之间时,高于60万元的部分,可提成1、5%,高于100万元时, 超过100万元的部分按1%提成,从键盘输入当月利润i,求 应发放奖金总数?-*/#include main() long int i; double bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf(%ld,&i); bonus1=100000*0、1;bonus2=bonus1+100000*0、75; bonus4=bonus2
8、+200000*0、5; bonus6=bonus4+200000*0、3; bonus10=bonus6+400000*0、15; if(i=100000) bonus=i*0、1; /*SPACE*/ else if(【?】) bonus=bonus1+(i-100000)*0、075; /*SPACE*/ else if(【?】) bonus=bonus2+(i-200000)*0、05; /*SPACE*/ else if(【?】) bonus=bonus4+(i-400000)*0、03; else if(i=1000000) bonus=bonus6+(i-600000)*0、01
9、5; else bonus=bonus10+(i-1000000)*0、01; /*SPACE*/ 【?】(bonus=%d,bonus);答案:=(答案1)=i=i=(答案2)=i=i=(答案3)=i=i=(答案4)=printf第5题 (10、0分) 题号:27/*-【程序填空】-功能:统计一个字符串中的字母、数字、空格与其它字符的个数。-*/#include void fun(char s,int b) int i; for (i=0;si!=0;i+) if (a=si&si=z|A=si&si=Z) b0+; /*SPACE*/ else if (【?】) b1+; /*SPACE*
10、/ else if (【?】 ) b2+; else b3+;main () char s180;int a4=0; int k; /*SPACE*/ 【?】; gets(s1); /*SPACE*/ 【?】; puts(s1); for(k=0;k4;k+) printf(%4d,ak);答案:=(答案1)=0=si & si=0 & si=9=或=0=si=或=si=0 & 9=si=或=48=si & si=48 & si=57=或=48=si=或=si=48 & 57=si=或=!( si 57 )=或=!( si 9 )=(答案2)=si = =或=si = 32=(答案3)=voi
11、d fun(char s,int b)=(答案4)=fun(s1,a)第6题 (10、0分) 题号:466/*-【程序填空】-功能:用二分法求方程2X3+4X2+3X-6=0在(-10,10)之间的根 ,其中 Xn代表X的n次方。-*/#include # include main() float x0,x1,x2,fx0,fx1,fx2; do printf(Enter x1&x2:); scanf(%f,%f,&x1,&x2); fx1=x1*(2*x1-4)*x1+3)-6; fx2=x2*(2*x2-4)*x2+3)-6; /*SPACE*/ while (fx1*fx2【?】); d
12、o x0=(x1+x2)/2; fx0=x0*(2*x0-4)*x0+3)-6; /*SPACE*/ if(fx0*fx1【?】) x2=x0; fx2=fx0; else x1=x0; fx1=fx0; /*SPACE*/ while(【?】=1e-5); printf(x=%6、2fn,x0);答案:=(答案1)=0=(答案2)=0=(答案3)=fabs(fx0)第7题 (10、0分) 题号:423/*-【程序填空】-功能:考查字符串数组的应用。输出26个英文字母。-*/#include void main (void) char string256; int i; /*SPACE*/ f
13、or (i = 0; i 26; 【?】) /*SPACE*/ stringi = 【?】; stringi = 0; /*SPACE*/ printf (the arrary contains %sn,【?】);答案:=(答案1)=i+=或=+i=或=i=i+1=或=i+=1=(答案2)=A + i=或=i+A=或=65 + i=或=i+65=(答案3)=string第8题 (10、0分) 题号:412/*-【程序填空】-功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。-*/#include main() int length(char *p); int l
14、en; char str20; printf(please input a string:n); scanf(%s,str); /*SPACE*/ len=length(【?】); printf(the string has %d characters、,len);/*SPACE*/【?】(p)char *p; int n; n=0; while(*p!=0) /*SPACE*/ 【?】; /*SPACE*/ 【?】; return n;答案:=(答案1)=str=(答案2)=length=或=int length=(答案3)=n+=或=+n=或=n=n+1=或=n+=1=(答案4)=p+=或
15、=+p=或=p=p+1=或=p+=1第9题 (10、0分) 题号:24/*-【程序填空】-功能:对任一整数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(%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第10题 (10、0分) 题号:436/*-【程序填空】-功能:输出两个整数中大的那个数,两个整数由键盘输入。-*/#include #include void main() int *p1,*p2; /*SPACE*/ p1=【?】malloc(sizeof(int);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1