c语言题库程序填空.docx

上传人:b****7 文档编号:11214230 上传时间:2023-02-25 格式:DOCX 页数:242 大小:58.36KB
下载 相关 举报
c语言题库程序填空.docx_第1页
第1页 / 共242页
c语言题库程序填空.docx_第2页
第2页 / 共242页
c语言题库程序填空.docx_第3页
第3页 / 共242页
c语言题库程序填空.docx_第4页
第4页 / 共242页
c语言题库程序填空.docx_第5页
第5页 / 共242页
点击查看更多>>
下载资源
资源描述

c语言题库程序填空.docx

《c语言题库程序填空.docx》由会员分享,可在线阅读,更多相关《c语言题库程序填空.docx(242页珍藏版)》请在冰豆网上搜索。

c语言题库程序填空.docx

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));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1