c语言题库程序填空.docx
- 文档编号:5458434
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:242
- 大小:58.36KB
c语言题库程序填空.docx
《c语言题库程序填空.docx》由会员分享,可在线阅读,更多相关《c语言题库程序填空.docx(242页珍藏版)》请在冰点文库上搜索。
c语言题库程序填空
试卷编号:
8301
所属语言:
C语言
试卷方案:
C-程序填空
试卷总分:
1290分
共有题型:
1种
一、程序填空共129题(共计1290分)
第1题(10、0分)题号:
35
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
计算并输出high以内最大的10个素数之与,high由主函数传
给fun函数,若high的值为100,则函数的值为732。
-------------------------------------------------------*/
#include
#include
#include
intfun(inthigh)
{
intsum=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
=======(答案2)=======
high%j==0
=========或=========
!
(high%j)
=======(答案3)=======
returnsum
=========或=========
return(sum)
第2题(10、0分)题号:
401
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
输入某年某月某日,判断这一天就是这一年的第几天?
-------------------------------------------------------*/
#include
main()
{
intday,month,year,sum,leap;
printf("\npleaseinputyear,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)
{
case1:
sum=0;break;
case2:
sum=31;break;
case3:
sum=59;break;
/***********SPACE***********/
case4:
【?
】;break;
case5:
sum=120;break;
case6:
sum=151;break;
case7:
sum=181;break;
case8:
sum=212;break;
case9:
sum=243;break;
case10:
sum=273;break;
case11:
sum=304;break;
case12:
sum=334;break;
default:
printf("dataerror");break;
}
/***********SPACE***********/
【?
】;
/***********SPACE***********/
if(year%400==0||(【?
】)
leap=1;
else
leap=0;
/***********SPACE***********/
if(【?
】)
sum++;
printf("itisthe%dthday、",sum);
}
答案:
=======(答案1)=======
sum=90
=======(答案2)=======
sum=sum+day
=========或=========
sum=sum+day
=======(答案3)=======
year%4==0&&year%100!
=0)
=======(答案4)=======
leap==1&&month>2
=========或=========
leap==1&&month>2
=========或=========
leap==1&&2 第3题(10、0分)题号: 21 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 将一个字符串中的前N个字符复制到一个字符数组中去, 不许使用strcpy函数。 -------------------------------------------------------*/ #include main() { charstr1[80],str2[80]; inti,n; /***********SPACE***********/ gets(【? 】); scanf("%d",&n); /***********SPACE***********/ for(i=0;【? 】;i++) /***********SPACE***********/ 【? 】; /***********SPACE***********/ 【? 】; printf("%s\n",str2); } 答案: =======(答案1)======= str1 =======(答案2)======= i =========或========= n>i =========或========= i<=n-1 =========或========= n-1>=i =======(答案3)======= str2[i]=str1[i] =========或========= *(str2+i)=*(str1+i) =========或========= *(str2+i)=str1[i] =========或========= str2[i]=*(str1+i) =======(答案4)======= str2[n]='\0' =========或========= str2[i]='\0' =========或========= str2[n]=0 =========或========= str2[i]=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() { longinti; doublebonus1,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***********/ elseif(【? 】) bonus=bonus1+(i-100000)*0、075; /***********SPACE***********/ elseif(【? 】) bonus=bonus2+(i-200000)*0、05; /***********SPACE***********/ elseif(【? 】) bonus=bonus4+(i-400000)*0、03; elseif(i<=1000000) bonus=bonus6+(i-600000)*0、015; else bonus=bonus10+(i-1000000)*0、01; /***********SPACE***********/ 【? 】("bonus=%d",bonus); } 答案: =======(答案1)======= i<=200000 =========或========= 200000>=i =======(答案2)======= i<=600000 =========或========= 600000>=i =======(答案3)======= i<=1000000 =========或========= 1000000>=i =======(答案4)======= printf 第5题(10、0分)题号: 27 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 统计一个字符串中的字母、数字、空格与其它字符的个数。 -------------------------------------------------------*/ #include voidfun(chars[],intb[]) { inti; for(i=0;s[i]! ='\0';i++) if('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++; /***********SPACE***********/ elseif(【? 】) b[1]++; /***********SPACE***********/ elseif(【? 】) b[2]++; else b[3]++; } main() { chars1[80];inta[4]={0}; intk; /***********SPACE***********/ 【? 】; gets(s1); /***********SPACE***********/ 【? 】; puts(s1); for(k=0;k<4;k++) printf("%4d",a[k]); } 答案: =======(答案1)======= '0'<=s[i]&&s[i]<='9' =========或========= s[i]>='0'&&s[i]<='9' =========或========= '0'<=s[i]&&'9'>=s[i] =========或========= s[i]>='0'&&'9'>=s[i] =========或========= 48<=s[i]&&s[i]<=57 =========或========= s[i]>=48&&s[i]<=57 =========或========= 48<=s[i]&&57>=s[i] =========或========= s[i]>=48&&57>=s[i] =========或========= ! (s[i]<48||s[i]>57) =========或========= ! (s[i]<'0'||s[i]>'9') =======(答案2)======= s[i]=='' =========或========= s[i]==32 =======(答案3)======= voidfun(chars[],intb[]) =======(答案4)======= fun(s1,a) 第6题(10、0分)题号: 466 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根 其中X^n代表X的n次方。 -------------------------------------------------------*/ #include #include main() { floatx0,x1,x2,fx0,fx1,fx2; do { printf("Enterx1&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、2f\n",x0); } 答案: =======(答案1)======= >0 =======(答案2)======= <0 =======(答案3)======= fabs(fx0) 第7题(10、0分)题号: 423 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 考查字符串数组的应用。 输出26个英文字母。 -------------------------------------------------------*/ #include voidmain(void) { charstring[256]; inti; /***********SPACE***********/ for(i=0;i<26;【? 】) /***********SPACE***********/ string[i]=【? 】; string[i]='\0'; /***********SPACE***********/ printf("thearrarycontains%s\n",【? 】); } 答案: =======(答案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() { intlength(char*p); intlen; charstr[20]; printf("pleaseinputastring: \n"); scanf("%s",str); /***********SPACE***********/ len=length(【? 】); printf("thestringhas%dcharacters、",len); } /***********SPACE***********/ 【? 】(p) char*p; { intn; n=0; while(*p! ='\0') { /***********SPACE***********/ 【? 】; /***********SPACE***********/ 【? 】; } returnn; } 答案: =======(答案1)======= str =======(答案2)======= length =========或========= intlength =======(答案3)======= n++ =========或========= ++n =========或========= n=n+1 =========或========= n+=1 =======(答案4)======= p++ =========或========= ++p =========或========= p=p+1 =========或========= p+=1 第9题(10、0分)题号: 24 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 对任一整数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() { intn,i,r; scanf("%d",&n); if(n==0) { printf("dataerror\n"); exit(0); } /***********SPACE***********/ elseif(【? 】) 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 第10题(10、0分)题号: 436 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 输出两个整数中大的那个数,两个整数由键盘输入。 -------------------------------------------------------*/ #include #include voidmain() { int*p1,*p2; /***********SPACE***********/ p1=【? 】malloc(sizeof(int));
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 程序 填空