c语言题库~程序填空_第1页
c语言题库~程序填空_第2页
c语言题库~程序填空_第3页
c语言题库~程序填空_第4页
c语言题库~程序填空_第5页
已阅读5页,还剩166页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

试卷编号: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=high/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; printf(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=273;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)=(答案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=(答案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.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+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.015; 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*/ 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)=void 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【?】); do 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*/ for (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 len; 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+=或=+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); p2=(int*)malloc(sizeof(int); /*SPACE*/ scanf(%d%d,【?】,p2); if(*p2*p1) *p1=*p2; free(p2); /*SPACE*/ printf(max=%dn,【?】);答案:=(答案1)=(int *)=(答案2)=p1=(答案3)=*p1第11题 (10.0分) 题号:410/*-【程序填空】-功能:有n个整数,使其前面各数顺序向后移m个位置,最后m个数 变成最前面的m个数-*/#include /*SPACE*/move(【?】)int n,m,array20; int *p,array_end; /*SPACE*/ array_end=*(【?】); for(p=array+n-1;parray;p-) /*SPACE*/ *p=*(【?】); *array=array_end; m-; if(m0) move(array,n,m);main() int number20,n,m,i; printf(the total numbers is:); scanf(%d,&n); printf(back m:); scanf(%d,&m); for(i=0;in-1;i+) scanf(%d,&numberi); scanf(%d,&numbern-1); /*SPACE*/ move(【?】); for(i=0;in-1;i+) printf(%d,numberi); printf(%d,numbern-1);答案:=(答案1)=array,n,m=(答案2)=array+n-1=或=array + n -1=(答案3)=p-1=或=p -1=(答案4)=number,n,m第12题 (10.0分) 题号:29/*-【程序填空】-功能:下面函数为二分法查找key值。数组中元素已递增排序, 若找到key则返回对应的下标,否则返回-1。-*/#include fun(int a,int n,int key) int low,high,mid; low=0; high=n-1; /*SPACE*/ while(【?】) mid=(low+high)/2; if(keyamid) /*SPACE*/ 【?】; else /*SPACE*/ 【?】; return -1;main() int a10=1,2,3,4,5,6,7,8,9,10; int b,c; b=4; c=fun(a,10,b); if(c=1) printf(not found); else printf(position %dn,c);答案:=(答案1)=low=low=(答案2)=high=mid-1=(答案3)=low= mid + 1=(答案4)=return mid=或=return (mid)第13题 (10.0分) 题号:425/*-【程序填空】-功能:当输入“2,5”的时候输出为“2 5 5”-*/#include #define max 100main() int fmax,i,j,k,m; scanf(%d,%d,&k,&m); /*SPACE*/ for(i=0;i=【?】;i+) fi=0; /*SPACE*/ f【?】=1; for(i=k;i=m;i+) /*SPACE*/ for(j=i-k;j=i-1;j+) fi【?】fj; printf(%d%10d%10dn,k,m,fm);答案:=(答案1)=m=(答案2)=k-1=(答案3)=+=或=fi+第14题 (10.0分) 题号:450/*-【程序填空】-功能:一个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-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 + k * t3 + l * t4=(答案4)=39第15题 (10.0分) 题号:405/*-【程序填空】-功能:要求输出结果为: A,B 65,66-*/#includevoid main() /*SPACE*/ char a,【?】; /*SPACE*/ a=【?】; b=b; a=a-32; /*SPACE*/ b=b-【?】; printf(%c, %cn%d,%dn,a,b,a,b);答案:=(答案1)=b=(答案2)=a=或=97=(答案3)=32第16题 (10.0分) 题号:404/*-【程序填空】-功能:从键盘上输入两个复数的实部与虚部,求出并输出它们的 和、差、积、商。-*/#includevoid main() float a,b,c,d,e,f; printf(输入第一个复数的实部与虚部:); scanf(%f, %f,&a,&b); printf(输入第二个复数的实部与虚部:); scanf(%f, %f,&c,&d); /*SPACE*/ 【?】; f=b+d; printf(相加后复数:实部:%f,虚部:%fn,e,f); e=a*c-b*d; /*SPACE*/ 【?】; printf(相乘后复数:实部:%f,虚部:%fn,e,f); e=(a*c+b*d)/(c*c+d*d); /*SPACE*/ 【?】; printf(相除后复数:实部:%f,虚部:%fn,e,f);答案:=(答案1)=e=a+c=或=e=c+a=(答案2)=f=a*d+b*c=或=f= a*d + b*c=或=f= a * d + b * c=(答案3)=f=(b*c-a*d)/(c*c+d*d)=或=f=(b*c-a*d) / (c*c+d*d)=或=f=( b * c - a * d ) / ( c * c + d * d )第17题 (10.0分) 题号:12/*-【程序填空】-功能:产生并输出如下形式的方阵。1 2 2 2 2 2 13 1 2 2 2 1 43 3 1 2 1 4 43 3 3 1 4 4 43 3 1 5 1 4 43 1 5 5 5 1 41 5 5 5 5 5 1-*/#include main() int a77; int i,j; for (i=0;i7;i+) for (j=0;j7;j+) /*SPACE*/ if (【?】) aij=1;/*SPACE*/ else if (ij&i+jj&i+j6) aij=3;/*SPACE*/ else if (【?】) aij=4; else aij=5; for (i=0;i7;i+) for (j=0;j7;j+) printf(%4d,aij);/*SPACE*/ 【?】; 答案:=(答案1)= i = j | i + j = 6 =(答案2)=aij=2=(答案3)= i6 =或= ji & i + j6 =或= ij & i + 6i & i + 6j =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论