C语言期末考试编程题.docx

上传人:b****2 文档编号:1383168 上传时间:2023-04-30 格式:DOCX 页数:16 大小:17.80KB
下载 相关 举报
C语言期末考试编程题.docx_第1页
第1页 / 共16页
C语言期末考试编程题.docx_第2页
第2页 / 共16页
C语言期末考试编程题.docx_第3页
第3页 / 共16页
C语言期末考试编程题.docx_第4页
第4页 / 共16页
C语言期末考试编程题.docx_第5页
第5页 / 共16页
C语言期末考试编程题.docx_第6页
第6页 / 共16页
C语言期末考试编程题.docx_第7页
第7页 / 共16页
C语言期末考试编程题.docx_第8页
第8页 / 共16页
C语言期末考试编程题.docx_第9页
第9页 / 共16页
C语言期末考试编程题.docx_第10页
第10页 / 共16页
C语言期末考试编程题.docx_第11页
第11页 / 共16页
C语言期末考试编程题.docx_第12页
第12页 / 共16页
C语言期末考试编程题.docx_第13页
第13页 / 共16页
C语言期末考试编程题.docx_第14页
第14页 / 共16页
C语言期末考试编程题.docx_第15页
第15页 / 共16页
C语言期末考试编程题.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言期末考试编程题.docx

《C语言期末考试编程题.docx》由会员分享,可在线阅读,更多相关《C语言期末考试编程题.docx(16页珍藏版)》请在冰点文库上搜索。

C语言期末考试编程题.docx

C语言期末考试编程题

1.打印出所有的“水仙花数”,并按照一行5个的格式输出。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3。

#include

voidmain()

{

inta,b,c,s,i=0;

for(s=100;s<1000;s++)

{

c=s%10;

b=s/10%10;

a=s/100;

if(s==a*a*a+b*b*b+c*c*c)

{

printf("%d\t",s);

++i;

if(i%5==0)

printf("\n");

}

}

}

2.求1+2!

+3!

+...+20!

的和

#include

voidmain()

{

doublefact=1.0,sum=0.0;

inti,j;

for(i=1;i<=20;i++)

{

for(j=1;j<=i;j++)

fact*=j;

sum+=fact;

fact=1;

}

printf("%.0f\n",sum);

}

3.输入一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

   

#include

#include

voidmain()

{

longnum;

inta,b,c,d;

printf("Pleaseinputthenumber:

");

scanf("%d",&num);

if(num<=9999||num>=100000)

{

printf("%Thenumberiserror!

\n");

exit(0);

}

a=num/10000;

b=num/1000%10;

c=num/10%10;

d=num%10;

if(a==d&&b==c)

printf("\nYes,the%ldispalindrome!

\n",num);

else

printf("\nNo,the%ldisnotpalindrome!

\n",num);

}

4.求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并并按照一行5个的格式输出。

#include

voidmain()

{

intnum,i=0;

for(num=1;num<=1000;num++)

if(((num%7||num%11)==1)&&((num%7&&num%11)==0))

{

printf("%d\t",num);

++i;

if(i%5==0)

printf("\n");

}

}

5.编程列出200以内所有的素数,按照一行10个的格式输出,并求出所有素数的平均值,  

#include

#include

voidmain()

{

inti,j,k=0,sum=0,avg=0;

for(i=2;i<200;i++)

{

for(j=2;j<=sqrt(i);j++)

if(i%j==0)

break;

if(j>sqrt(i))

{

printf("%d\t",i);

++k;

sum+=i;

if(k%10==0)printf("\n");

}

}

avg=sum/k;

printf("\nTheaverageis%d\n",avg);

}

6、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1+1/3+1/5...+1/n

#include

voidmain()

{

voidodd(intn);

voideven(intn);

intn;

printf("Pleaseinputthenumber:

");

scanf("%d",&n);

if(n%2)

odd(n);

else

even(n);

}

voidodd(intn)

{

floatsum=0.0;

floatj;

inti;

for(i=1;i<=n;i+=2)

{

j=1.0/i;

sum+=j;

}

printf("%f\n",sum);

}

voideven(intn)

{

floatsum=0.0;

inti;

floatj;

if(n==0)

printf("%f\n",sum);

else

{

for(i=2;i<=n;i+=2)

{

j=1.0/i;

sum+=j;

}

printf("%f\n",sum);

}

}

7、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有

组合。

#include

voidmain()

{

inta,b,c;

for(a=1;a<=9;a++)

for(b=0;b<=9;b++)

for(c=1;c<=9;c++)

if((100*a+10*b+c+100*c+10*b+a)==1333)

printf("a=%d,b=%d,c=%d\n",a,b,c);

}

8、用户输入12个0-100之间的整数,统计出小于60,60到79,80到100三个范围的整数各有多少个?

#include

#include

voidmain()

{

inti,j,k,n,num;

i=j=k=0;

printf("Pleaseinputthe12numberswith0~100:

");

for(n=1;n<=12;n++)

{

scanf("%d",&num);

if(!

(num>=0&&num<=100))exit(0);

if(num<60)++i;

elseif(num<80)++j;

else++k;

}

printf("\nThereare%dnumberslessthan60,%dnumbersbetween60and79,%dnumbersbetween80and100.\n",i,j,k);

}

9、求这样一个三位数并输出该数字,该三位数等于其每位数字的阶乘之和。

即:

 abc=a!

+b!

+c!

#include

voidmain()

{

inta,b,c,num;

ints(int);

for(num=100;num<1000;num++)

{

a=num/100;

b=num/10%10;

c=num%10;

if(num==s(a)+s(b)+s(c))

{

printf("Thenumberis%d\n",num);

break;

}

}

}

s(intn)

{

inti,sum=1;

for(i=1;i<=n;i++)

sum*=i;

returnsum;

}

10、猜数游戏:

由用户随机输入一个1位正整数数让人来猜,只能猜5次,如果人猜对了,则在屏幕上显示“Youaresoclever”,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止或者5次都猜不对给出提示“GameOver”。

#include

#include

voidmain()

{

intnum,i,n;

printf("Pleaseinputthenumberwith0~9forguessing:

");

scanf("%d",&num);

system("cls");

if(num<0||num>9)exit(0);

for(i=1;i<=5;i++)

{

printf("\nPleaseinputthenumberyouguess:

");

scanf("%d",&n);

if(num==n)

{

printf("\nYouaresoclever!

\n");

break;

}

elseif(n

{

printf("\nThenumberyouinputislittle,goonplease!

Youhave%dtimesleft!

\n",5-i);

continue;

}

else

{

printf("\nThenumberyouinputislarge,goonplease!

Youhave%dtimesleft!

\n",5-i);

continue;

}

}

if(i>5)printf("GameOver!

\n");

}

11、设N是一个四位数,它的9倍恰好是其反序数(例如:

123的反序数是321),求N的值。

#include

voidmain()

{

intn,k,a,b,c,d;

for(n=1000;n<=9999;n++)

{

a=n/1000;

b=n/100%10;

c=n/10%10;

d=n%10;

k=1000*d+100*c+10*b+a;

if(k==9*n)

printf("N=%d\n",n);

}

}

12、100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。

试编写程序计算大、中、小马的数目。

#include

voidmain()

{

inth1,h2,h3;

for(h1=0;h1<=100;h1++)

for(h2=0;h2<=100;h2++)

for(h3=0;h3<=100;h3+=2)

{

if(h1+h2+h3==100&&3*h1+2*h2+1/2*h3==100)

printf("Theoldhorsehas%d,middlehorsehas%d,younghorsehas%d\n",h1,h2,h3);

}

}

13、一位司机酒驾撞人逃跑。

现场三人目击事件,但都没记住车号,只记下车号的一些特征。

甲说:

牌照的前两位数字是相同的;乙说:

牌照的后两位数字是相同的;丙是位数学家,他说:

四位的车号刚好是一个整数的平方。

请根据以上线索求出车号。

(车号为4位数)

#include

#include

voidmain()

{

intn,a,b,c,d,i;

for(n=1000;n<=9999;n++)

{

a=n/1000;

b=n/100%10;

c=n/10%10;

d=n%10;

i=sqrt(n);

if(a==b&&c==d&&i*i==n)

printf("%d\n",n);

}

}

14、求S=1/(1*2)+1/(2*3)+1/(3*4)+……前50项之和并输出结果。

#include

voidmain()

{

floati;

floats=0;

for(i=1;i<51;i++)

s+=1.0/(i*(i+1));

printf("%f",s);

}

15、编程求出所有1000到3000之间能被7、11、17同时整除的整数,并求其平均值,并输出结果(结果保留两位小数)。

#include

voidmain()

{

inti,k=0,sum=0;

for(i=1000;i<=3000;i++)

if(i%7==0&&i%11==0&&i%17==0)

{

sum+=i;

++k;

printf("%d\t",i);

}

printf("\n%d",sum/k);

}

16、编程找出满足下列条件的所有四位数的和并输出:

该数第一、三位数字之和为10,第二、四位数字之积为12。

#include

#include

intmain(void)

{

inti,j,x,y,z,m;

for(i=1000;i<10000;i++)

{

x=i/1000;

y=(i/100)%10;

z=(i/10)%10;

m=i%10;

if((x+z)==10&&(y+m)==12)

{

printf("%d\t",i);

}

}

printf("\n");

return0;

}

17、求并输出所有满足如下条件的三位正整数:

它是某整数的平方,它的三位数码有两位是相同的。

(如100是10的平方,它有两个0,225是15的平方,它有两个2)。

#include

#include

voidmain()

{

intn,i,a,b,c;

for(n=100;n<=999;n++)

{

a=n/100;

b=n/10%10;

c=n%10;

i=sqrt(n);

if((a==b||a==c||b==c)&&n==i*i)

printf("%d\t",n);

}

}

18、输出所有大于1010的4位偶数,且该类偶数的各位数字两两不相同。

#include

voidmain()

{

intnum,a,b,c,d;

for(num=1012;num<=9999;num+=2)

{

a=num/1000;

b=num/100%10;

c=num/10%10;

d=num%10;

if(a!

=b&&b!

=c&&c!

=d)

printf("%d\t",num);

}

}

19、编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数字之和。

#include

voidmain()

{

inta,b,s;

printf("Pleaseinputaandb:

");

scanf("%d%d",&a,&b);

s=a*a+b*b;

if(s>100)

printf("\n%d\n",s/100);

else

printf("\n%d\n",a+b);

}

20、编写一个程序实现如下功能:

计算1~100之间所有包含4或者包含5的数字,并显示其累加之和

#include

voidmain()

{

inta,b,i,sum=0;

for(i=1;i<=99;i++)

{

a=i/10;

b=i%10;

if(a==4||a==5||b==4||b==5)

{

sum+=i;

printf("%d\t",i);

}

}

printf("\n%d\n",sum);

}

 

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2