湖南省等级考试编程题参考答案.docx

上传人:b****7 文档编号:10442576 上传时间:2023-02-11 格式:DOCX 页数:43 大小:27.55KB
下载 相关 举报
湖南省等级考试编程题参考答案.docx_第1页
第1页 / 共43页
湖南省等级考试编程题参考答案.docx_第2页
第2页 / 共43页
湖南省等级考试编程题参考答案.docx_第3页
第3页 / 共43页
湖南省等级考试编程题参考答案.docx_第4页
第4页 / 共43页
湖南省等级考试编程题参考答案.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

湖南省等级考试编程题参考答案.docx

《湖南省等级考试编程题参考答案.docx》由会员分享,可在线阅读,更多相关《湖南省等级考试编程题参考答案.docx(43页珍藏版)》请在冰豆网上搜索。

湖南省等级考试编程题参考答案.docx

湖南省等级考试编程题参考答案

湖南省等级考试编程题参考答案

1.编程序求出1-200以内的能被7整除的数的平方和.377986

#include

#include

voidmain()

{longintm,n,s=0;

for(m=1;m<=200;m++)

if(m%7==0)

s=s+m*m;

printf("s=%d\n",s);}

2.编程序求出1~100所有整数的平方和并输出结果.338350

#include

#include

voidmain()

{longintm,s=0;

for(m=1;m<=100;m++)

s=s+m*m;

printf("s=%ld\n",s);}

3.编程序求1~99的平方根的和并输出结果.(保留小数点两位).661.46

#include

#include

voidmain()

{intm;floats=0.0;

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

s=s+sqrt(m);

printf("s=%.2f\n",s);}

4.编程序求出1到5000之间的能被5整除的前若干个偶数之和,当和大于500时程序退出.550

#include

#include

voidmain()

{intm,s=0;

for(m=1;m<=5000;m++)

{if(m%5==0&&m%2==0)

s=s+m;

if(s>=500)break;}

printf("s=%d\n",s);}

5.编程序求在3000以内被17或者23整除的正整数数的个数.299

#include

#include

voidmain()

{intm,s=0;

for(m=1;m<=3000;m++)

{if(m%17==0||m%23==0)

s=s+1;}

printf("s=%d\n",s);}

6.编写程序,求在四位数的奇数中,所有各位数字之和是25的倍数的数的和.1298515

#include

#include

voidmain()

{longintm,a,b,c,d,s=0;

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

{a=m/1000;b=m%1000/100;c=m%100/10;d=m%10;

if(m%2!

=0&&(a+b+c+d)%25==0)

s=s+m;}

printf("s=%ld\n",s);}

7.编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数.110

#include

#include

voidmain()

{longintm,a,b,c,s=0;

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

{a=m/1000;b=m%1000/100;c=m%100/10;

if(m%8==0&&a+b==b+c)

s=s+1;}

printf("s=%ld\n",s);}

8.编写程序,求在四位数的偶数中,所有各位数字之和是30的倍数的数的和.288840

#include

#include

voidmain()

{longintm,a,b,c,d,s=0;

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

{a=m/1000;b=m%1000/100;c=m%100/10;d=m%10;

if(m%2==0&&(a+b+c+d)%30==0)

s=s+m;}

printf("s=%ld\n",s);}

9.编程序求出100到200之间同时满足除3余2和除5余3条件的数的个数.6

#include

#include

voidmain()

{intm,s=0;

for(m=100;m<=200;m++)

{if(m%3==2&&m%5==3)

s=s+1;}

printf("s=%d\n",s);}

10.求[1,5000]之间能同时被3和7整除的数的个数.238

#include

#include

voidmain()

{intm,s=0;

for(m=1;m<=5000;m++)

{if(m%3==0&&m%7==0)

s=s+1;}

printf("s=%d\n",s);}

11.求[1,1000]之间能被3整除,且至少有一位上的数是5的所有数之和.46509

#include

#include

voidmain()

{longintm,s=0;

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

{if(m%3==0&&(m%1000/100==5||m%100/10==5||m%10==5))

s=s+m;}

printf("s=%ld\n",s);}

12.编写程序,求所有符合算式ij*ji=1300的最小数ij(即i*10+j).其中i,j是1~9之间的一位整数.25

#include

#include

voidmain()

{intm,n,min=99;

for(m=1;m<10;m++)

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

if((m*10+n)*(n*10+m)==1300)

if(min>(m*10+n))

min=(m*10+n);

printf("min=%d\n",min);}

13.编写程序,求共有几组i,j,k符合算式ijk+kji=1333,其中i,j,k是0~9之间的一位整数.6

#include

#include

voidmain()

{intm,n,x,s=0;

for(m=0;m<10;m++)

for(n=0;n<10;n++)

for(x=0;x<10;x++)

if((m*100+n*10+x)+(x*100+n*10+m)==1333)

s=s+1;

printf("s=%d\n",s);}

14.程序,计算在0至99的范围内有多少个数,其每位数的乘积小于等于每位数的和.37

#include

#include

voidmain()

{intm,n,x,s=0;

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

{n=m/10;x=m%10;

if(n*x<=n+x)

s=s+1;}

printf("s=%d\n",s);}

15.统计[100,10000]之间有多少个这样的整数,其各位数字之和能被7整除.1408

#include

#include

voidmain()

{intm,a,b,c,d,s=0;

for(m=100;m<10000;m++)

{a=m/1000;b=m%1000/100;c=m%100/10;d=m%10;

if((a+b+c+d)%7==0)

s=s+1;}

printf("s=%d\n",s);}

16.编写程序,求四位数的奇数中,所有各位数字之积(且不为0)是125的倍数的数的和.161095

#include

#include

voidmain()

{longintm,a,b,c,d,s=0;

for(m=100;m<10000;m++)

{a=m/1000;b=m%1000/100;c=m%100/10;d=m%10;

if((a*b*c*d)%125==0&&m%2!

=0&&a*b*c*d!

=0)

s=s+m;}

printf("s=%ld\n",s);}

17.设某四位数的各位数字的平方和为100,且该数能被3整除.求有多少个这样的四位数.23

#include

#include

voidmain()

{longintm,a,b,c,d,s=0;

for(m=100;m<10000;m++)

{a=m/1000;b=m%1000/100;c=m%100/10;d=m%10;

if(a*a+b*b+c*c+d*d==100&&m%3==0)

s=s+1;}

printf("s=%ld\n",s);}

18.有一个三位数满足下列条件:

(1)此三位数的三位数字各不相同;

(2)此三位数等于它的各位数字的立方和.试求这种三位数共有多少个.4

#include

#include

voidmain()

{longintm,a,b,c,s=0;

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

{a=m/100;b=m%100/10;c=m%10;

if((a*a*a+b*b*b+c*c*c)==m&&a!

=b&&b!

=c&&a!

=c)

s=s+1;}

printf("s=%ld\n",s);}

19.所谓回文数是从左至右与从右至左读起来都是一样的数字,如:

121是一个回文数.编写程序,求出100―900之间的所有回文数的个数.80

#include

#include

voidmain()

{longintm,a,c,s=0;

for(m=100;m<901;m++)

{a=m/100;c=m%10;

if(a==c)

s=s+1;}

printf("s=%ld\n",s);}

20编程序求出2+4+8+16+32+…这样的数之和.如果累加数大于500时,则程序终止并输出结果.510

#include

#include

voidmain()

{longintm=2,s=0;

while(s<=500)

{s=s+m;m=2*m;}

printf("s=%ld\n",s);}

21.编写程序,求在10~1000之间所有能被4除余3,被7除余5,被9除余2的数之和.1700

#include

#include

voidmain()

{longintm=10,s=0;

while(m<=1000)

{if(m%4==3&&m%7==5&&m%9==2)

s=s+m;m=m+1;}

printf("s=%ld\n",s);}

22.求[351,432]之间所有既不能被3整除,又不能被8整除的正整数的个数..47

#include

#include

voidmain()

{longintm=351,s=0;

while(m<=432)

{if(m%3!

=0&&m%8!

=0)

s=s+1;m=m+1;}

printf("s=%ld\n",s);}

23.编写程序,计算1000以内有多少个这样的数,其个位数为6且该数能被9整除.11

#include

#include

voidmain()

{longintm=1,s=0;

while(m<=1000)

{if(m%9==0&&m%10==6)

s=s+1;m=m+1;}

printf("s=%ld\n",s);}

24.编程序求出1~100所有整数的立方和并输出结果.25502500

#include

#include

voidmain()

{longintm=1,s=0;

while(m<=100)

{s=s+m*m*m;m=m+1;}

printf("s=%ld\n",s);}

25.设有十进制数字a,b,c,d和e,它们满足下列式子:

abcd*e=bcde(a不等于0,e不等于0或1),求满足上述条件的最大四位数abcd的值.1999

#include

#include

voidmain()

{inta,b,c,d,e,max=0;

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

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

for(c=0;c<10;c++)

for(d=0;d<10;d++)

for(e=2;e<10;e++)

{if((a*1000+b*100+c*10+d)*e==(b*1000+c*100+d*10+e))

if(max<(a*1000+b*100+c*10+d))max=a*1000+b*100+c*10+d;}

printf("max=%d\n",max);}

26.设某四位数的各位数字的平方和等于100,问共有多少个这种四位数.49

#include

#include

voidmain()

{longinti,a,b,c,d,e,s=0;

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

{a=i/1000;b=i%1000/100;c=i%100/10;d=i%10;

e=a*a+b*b+c*c+d*d;

if(e==100)

s++;}

printf("s=%d\n",s);}

27.设有6个十进制数字a,b,c,d,f,e,求满足abcdf×e=fdcba条件的五位数abcdf(a≠0,e≠0,e≠1)的个数.2

#include

#include

voidmain()

{longinti,a,b,c,d,e,f,s=0;

longinty,m;

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

for(e=2;e<10;e++)

{a=i/10000;b=i%10000/1000;c=i%1000/100;d=i%100/10;f=i%10;

y=f*10000+d*1000+c*10+b*10+a;

m=i*e;

if(m==y)

{s++;

printf("%ld%ld%d\n",y,m,e);}}

printf("s=%d\n",s);}

28.用一元纸币兑换一分,两分和五分的硬币,要求兑换硬币的总数为50枚,问共有多少种换法(注:

在兑换中一分,两分或五分的硬币数可以为0枚).13

#include

voidmain()

{inta,b,c,n=0;

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

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

for(c=0;c<=20;c++)

if(a+b+c==50&&(a+2*b+5*c)==100)

n++;

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

29.百钱百鸡问题.用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只).3

#include

voidmain()

{inta,b,c,n=0;

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

for(b=1;b<=35;b++)

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

if(a+b+c==100&&(5*a+3*b+c/3)==100&&c%3==0)

n++;

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

30.马克思曾经做过这样一道趣味数学题:

有30个人在一家小饭店里用餐,其中有男人,女人和小孩,每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,共花去50先令.如果要求男人,女人和小孩都有人参与,试求有多少种方案分配男人,女人和小孩的人数.9

#include

voidmain()

{inta,b,c,n=0;

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

for(b=1;b<=30;b++)

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

if(a+b+c==30&&(3*a+2*b+c)==50)

n++;

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

31.把一张一元钞票,换成一分,二分和五分硬币,每种至少8枚,问有多少种方案.80

#include

voidmain()

{inta,b,c,n=0;

for(a=8;a<=100;a++)

for(b=8;b<=100;b++)

for(c=8;c<=100;c++)

if((a+2*b+5*c)==100)

n++;

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

32."水仙花数"是指这样的数,其各位数字的立方和等于该数本身,如:

153=1^3+5^3+3^3.编写程序求100至400的范围内有多少个水仙花数.3

#include

voidmain()

{inta,b,c,d,n=0;

for(a=100;a<=400;a++)

{b=a/100;c=a%100/10;d=a%10;

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

n++;}

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

★33.一个数出现在该数的平方数的右边,称这个数为"同构数".例如,5出现在平方数25的右边,25出现在平方数625的右边,则5,25都是"同构数".找出1到1000之间的所有"同构数"的个数.7

#include

voidmain()

{intx,n=0;

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

if(x<10&&x*x%10==x)

n++;

elseif(x>=10&&x<100&&x*x%100==x)

n++;

elseif(x>=100&&x<1000&&x*x%1000==x)

n++;

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

★34.若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是"四位双平方数".例如:

由于7396=86^2,且7+3+9+6=25=5^2,则称7396是"四位双平方数".求所有"四位双平方数"的个数.17

#include

#include

voidmain()

{intx,y,a,b,c,d,n=0;

floatm,z;

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

{a=x/1000;b=x%1000/100;

c=x%100/10;d=x%10;y=a+b+c+d;

m=sqrt(x);z=sqrt(y);

if(m==sqrt(x)&&z==sqrt(y))

n++;}

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

★35.一个数如果刚好与它所有的因子之和相等,则称该数为一个"完数",如:

6=1+2+3,则6就是一个完数.求出200到500之间所有的完数之和.496

#include

voidmain()

{ints=0,x,y,ss;

floatm;

for(x=200;x<=500;x++)

{ss=0;

for(y=1;y

if(x%y==0)

ss=ss+y;

if(x==ss)

s=s+x;}

printf("wanshusum:

%d\n",s);}

36.一个数如果恰好等于它的所有真因子之和,这个数就称为"完数".例如,6的真因子为1,2,3,而6=1+2+3,因此,6是"完数".求[1,1000]之间的最大完数.496

#include

voidmain()

{intx,y,ss,max=0;

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

{ss=0;

for(y=1;y

if(x%y==0)

ss=ss+y;

if(x==ss)

if(max

max=x;}

printf("max:

%d\n",max);}

★37.若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子之和1+2+4+7+14+28=56=2*28,28是多因子完备数.求[1,500]之间有多少个多因子完备数.5

#include

voidmain()

{intx,y,ss,n=0;

for(x=1;x<=500;x++)

{ss=0;

for(y=1;y<=x;y++)

if(x%y==0)

ss=ss+y;

if(ss%x==0)

n++;}

printf("n:

%d\n",n);}

38.所谓素数是指这样的自然数,除1和它本身外不再有其它因子.编写程序,计算从1981年开始到3000年为止,我们将遇到多少个素数年号.131

#include

#include

voidmain()

{intx,y,n=0;floatss;

for(x=1981;x<=3000;x++)

{ss=sqrt(x);

for(y=2;y<=ss;y++)

if(x%y==0)

break;

if(y>ss)

n++;}

printf("n:

%d\n",n);}

★39.编写程序,求出9到499之间的所有非偶数非素数的数之和.40965

#include

#include

voidmain()

{longintx,y,n=0;floatss;

for(x=9;x<=499;x++)

{ss=sqrt(x);

for(y=2;y<=ss;y++)

if(x%y==0)

break;

if(y<=ss&&x%2!

=0)

n=n+x;}

printf("n:

%ld\n",n);}_

40求[500,1999]之间的素数的个数,且要求该素数十位数字为7.22

#include

#include

voidmain()

{longintx,y,n=0;floatss;

for(x=500;x<=1999;x++)

{ss=sqrt(x);

for(y=2;y<=ss;y++)

if(x%y==0)

break;

if(y>ss&&x%100/10==7)

n++;}

printf("n:

%ld\n",n);}_

41.求[666,777]范围内素数的个数..16

#include

#include

voidmain()

{longintx,y,n=0;floatss;

for

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

当前位置:首页 > 高等教育 > 理学

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

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