湖南省计算机二级考试程序设计题目精选Word文档格式.docx
《湖南省计算机二级考试程序设计题目精选Word文档格式.docx》由会员分享,可在线阅读,更多相关《湖南省计算机二级考试程序设计题目精选Word文档格式.docx(87页珍藏版)》请在冰豆网上搜索。
![湖南省计算机二级考试程序设计题目精选Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/4/e9d85987-226d-4665-8fe0-fdbb43010aef/e9d85987-226d-4665-8fe0-fdbb43010aef1.gif)
if(a[i]==1)printf("
%d"
i);
getch();
32号
4题:
A、B、C三个正整数,当满足1/A*A+1/B*B=1/C*C关系时,称为倒勾股数。
求职130〈A+B+C〈150的倒勾股数有多少组。
inta,b,c,k;
intcount=0;
clrscr();
for(a=1;
150;
for(c=1;
c<
c++)
k=a+b+c;
if((float)1/(a*a)+(float)1/(b*b)==(float)1/(c*c))
if(k>
130)
if(k<
150)
count++;
printf("
count);
getch();
题目:
5题:
S1=1,S2=1+3,S3=1+3+5,S4=1+3+5+7,……,SN=1+3+5+7+……+(2N-1),N为正整数。
编程求S1+S2+S3+S4+……+SN的值〈20000时的N的最大值。
func(intn)
inti,sum;
sum=0;
=n;
sum=sum+2*i-1;
return(sum);
intsum,a,b,c,i;
i=1;
while(sum<
20000)
sum=sum+func(i);
if(sum>
break;
i++;
i-1);
38
6题:
自然数对是指两个自然数的和与差都是平方数,如果8和17的和8+17=25与其差17-8=9都是平方数,则称8和17是自然数对(8,17)。
假定(A,B)与(B,A)是同一个自然数对且假定A〉=B,求所有小于或等于100(即:
A〈=100,B〈=100〉的自然数对中B之和。
inta,b,i,j;
intc=0;
=100;
if((i*i)==(a+b)&
&
(j*j)==(a-b)&
(a>
=b))
c=c+b;
c);
1440
7题:
把18元钱分成1元、2元禾元的纸币且纸币数共为10张的分法有多少种(注:
在兑换中1元、2元、5元的纸币数可以为0)?
解:
{inta,b,c,n;
n=0;
for(a=0;
=18;
for(b=0;
=9;
for(c=0;
=3;
if(a+b+c==10&
a+2*b+5*c==18)
n++;
printf(“%d”,n);
结果:
3
8题:
把一张1元钞票,换成1分、2分和5分硬币,每种至少11枚,问有多少种方法?
{intx,y,z,n;
for(x=11;
x<
x++)
for(y=11;
y<
=22;
y++)
for(z=11;
z<
=15;
z++)
if(x+2*y+5*z==100)
13
9题:
找满足以下条件:
X^2+Y^2+Z^2=25^2且X+Y+Z之值最大的三个正整数X,Y,Z,求X+Y+Z之值。
#include<
math.h>
{intx,y,z,ssum,max=0;
for(x=1;
x<
=24;
x++)
for(y=1;
y<
y++)
for(z=1;
z<
z++)
if(x*x+y*y+z*z==25*25)
{sum=x+y+z;
if(max<
sum)max=sum;
printf(“max=%d\n”,max);
43
10题:
编程求区间[500,2500]中按递增顺序第25个素数。
intx,y,t,n;
n=0;
for(x=500;
=2500;
t=0;
for(y=2;
=x/2;
if(x%y==0)t=1;
if(t==0)n++
if(n>
=25)
printf(“x=%d”,x);
getch;
Key:
659
11题:
编程求取:
[121,140]之间的弦数的个数(若某正数的平方等于另两个正整数平方之各,则称该数为弦数。
例如:
3^2+4^2=5^2,因此5是弦数)。
intx,y,z,n;
for(x=121;
=140;
for(y=121;
for(z=121;
if(x*x==y*y+z*z)
n++;
printf(“n=%d”,n);
n=0
12题:
S=1/2+2/3+3/5+5/8+……的前30项的和(注:
该级数从第二项开始,其分子是前一项的分母,其分母是前一项的分子与分母的和)。
要求:
按四舍五入的方式精确到小数点后第二位。
inta,b,c,n,s;
for(n=1;
n<
=30;
n++)
s=s+a/b;
c=a;
b=b+a;
b=c;
printf(“s=%f”,s);
18.46;
13题:
从6开始的前6个同构数的各(若某数与本身平方数的低位部分分别相等,则称之为同构数,如6,其平方数为36,则6为一个同构数)。
longn,m,k,s,sum;
sum=0;
m=0;
for(n=6;
;
if(n<
10)k=10;
elseif(n<
100)k=100;
elseif(n<
1000)k=1000;
elsek=10000;
s=n*n;
s=s–n;
if(s%k==0)
sum+=n;
m++;
if(m<
5)break;
printf(“%ld”,sum);
10484。
14题:
编程序求1~108所有整数的平方和并输出结果。
longn,sum;
=108;
sum+=n*n;
printf(“1^2+2^2+3^2+…+108^2=%ld”,sum);
435754。
15题:
编程序求1~115的平方根的和并输出结果(保留小数点两位)。
#include“math.h”
intn;
doublesum;
sum=0.0;
=115;
sum+=sqrt(n);
printf(“Thissumis:
%.2f”,sum);
827.32
16.题:
编程序求1~600能被11整除的个数。
inta,n;
for(a=1;
=600;
if(a%11==0)n++;
printf(“n=%d\n”,n);
getch();
n=54
17题:
编程序求1+3+5+7+9+…这样的数的和。
如果累加数大于1000是,则程序终止并输出结果。
inti=1,sum=0;
while(sum<
=1000)
sum=sum+(2*i-1);
i++;
printf(“sum=%d\n”,sum);
sum=1024
18题:
编程序求出100到200之间同时满足除3余2和除5余3条件的数的个数。
for(a=100;
=200;
if(a%3==2&
a%5==3)n++;
n=6
19题:
编程求出1~100以内能被3整除的数的平方和。
intn,m;
longs=0;
for(n=1;
if(n%3==0)
m=n*n;
elsem=0;
s=s+m;
printf(“s=%d”,s);
112761
20题:
编程求出1~6000以内能被3或被5整除数的个数。
intx;
inta=0,b=0,c=0,d;
for(x=1;
=6000;
if(x%3==0)
a++;
if(x%5==0)
b++;
if(x%3==0&
x%5==0)
c++;
d=a+b-c;
printf(“d=%d”,d);
2800
21题:
编程求出1~300之间同时满足除3余2和除5余3条件的个数。
inta=0;
for(x=1;
=300;
if(x%3==2&
x%5==3)
printf(“a=%d”,a);
答案:
20
22题:
编程序求出S=1~130所有整数的立方和并输出结果。
unsignedlonginta,j,sum=0;
=130;
j=a*a*a;
sum=sum+j;
printf(“%lu\n”,sum);
输出结果:
77505255
23题:
编程序求在3000以内被17或者23整除的正整数数的个数。
inta,sum=0;
=3000;
if(a%17==0||a%23==0)
sum++;
printf(“%d\n”,sum);
299
24题:
编写程序,计算1000以内有多少个这样的数,该数既能被6整除又能被8整除。
=1000;
if(a%6==0&
a%8==0)
41
25题:
编写程序,计算1000以内有多少个这样的数,其十位是6且能被8整除。
inta,b,k,n;
for(k=0;
{a=k/100;
if((k-a*100)/10==6&
k%8==0)
n=n+1;
n=%d"
n);
15
26题:
编写程序,计算在0至50的范围内有多少个娄和,其每位数的乘积大于每位的和。
23
27题:
编写程序,求共有几组i,j,k符合算式ijk+kji=1534,其中i,j,k是[0,9]之间的一个整数。
#include<
stdio.h>
inti,j,k,n=0;
for(i=1;
for(j=0;
j<
j++)
for(k=1;
if(101*i+20*j+101*k==1534)n++;
printf(“n=%d”,n);
n=5
28题:
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是11的倍数,且A=B+C,即第二位数加上第三位数等于第一位数。
inti,j,k,l,n=0;
for(l=0;
l<
l++)
if((1000*i+100*j+10*k+l)%11==0&
j+k==i)n++;
n=49
29题:
编写程序,求四位数的奇数中,每位数字之和是15的倍数的数的和。
{inta,b,c,d,e,f,m;
longsum=0;
for(m=1000;
m<
10000;
m=m+2)
{d=m%10;
e=(m-d)/10;
c=e%10;
f=(e-c)/10;
b=f%10;
a=((f-b)/10)%10;
if((a+b+c+d)%15==0)
sum=sum+m;
printf(“sum=%d”,sum);
1533459
30题:
编写程序,求四位数的奇数中,所有各位数字之积(且不为0)是125的倍数的数的和。
main()
{inta,b,c,d,e,f,m;
longsum=0;
for(m=1000;
{d=m%10;
e=(m-d)/10;
if(a*b*c*d!
=0&
(a*b*c*d)%125==0)
161095
31题:
编写程序,求所有符合算式ij*ji=1300d最大数ij(既i*10+j)。
其中i,j是1~9之间的一位整数。
程序main()
{intI=1,j=1;
for(I=1;
I<
I++)
for(j=1;
{if((I*10+j)*(j*10+i)==1300&
I>
j)
printf(“%d\n”,(I*10+j));
}
答案(52)
32题:
编写程序,求一正整数等差数列的前6项的和,该数列前4项之和是26,4项之积是880。
程序main()
{intx=1,y=-4;
10;
for(y=-4;
4;
{if((x*4+6*y)==24&
x*(x+y)*(x+2*y)*(x+3*y)==880)
printf(“%d\n”,(x*6+15*y));
}getch();
答案(57)
33题:
编写程序,求一正整数等差数列的前3项的平方和,该数列的前4项之和是26,4项之积是880。
{if(x*4+6*y==24&
x*(x*+y)*(x+2*y)*(x+3*y)==880)
printf(“%d\n”,(x*x+(x+2*y)*(2*y+x)*(y+x)*(y+x)));
答案(93)
34题:
编写程序,求在100~1000之间所有能被4除余2,被7除余3,被9除余5的数之和。
{
inta,i,sum=0;
for(a=10;
if(a%4==2&
a%7==3&
a%9==5)
sum=sum+a;
sum=%d\n"
sum);
答案:
sum=2000
35题:
编写程序,求在四位数的偶数中,所有各位数字之和是30倍数的数的和。
inti,j,k,l,m,s;
s=0;
m++)
{i=m/1000;
j=(m%1000)/100;
k=(m%100)/10;
l=m%10;
if(m%2==0&
(i*j*k*l)%18==0)
%d\n"
s);
26696
36题:
编写程序,求在四位数的的偶数中,所有各位数字之积(且不为0)是18的倍数的数的和。
15284
37题:
求四位的奇数中,所有各位数之和是25倍数的数的和;
{inta;
longb=0;
for(a=1001;
=9999;
a+=2)
if(a/1000%10+a/100%10+a/10%10+a%10==25)
b=%ld\n"
b);
答案是1298515
38题:
统计1000到9999之间的所有足以下条件的四为数的个数。
该数是一完全平方数,第1,第2位数之和是10,第3,第4位数之积为18。
Main()
{inta,b,c=0;
for(a=1000;
for(b=33;
if(a%10+a/10%10==10&
a/100%10*a/1000%10==18&
b*b==a)
c=c+1;
printf(“c=%d|n”,c);
答案是:
39题:
篇写程序,统计200~400之间的所有满足三个数字之积42,三个数字之和为12的数的个数。
{intI,j,k,m,n;
m=0;
for(n=200;
=400;
{I=n/100;
j=(n/10)%10;
k=n%10;
if(I+j+k==12&
I*j*k==42)m++;
pintf(“%d”,m);
4
40题:
程序,统计1000~9999之间的所有满足以下条件的四位数个数。
该四位数是一个完全平方数,其第1,第3位数字之和为6,第2第4位数之积为24。
main{}
{intI,j,k,L;
longm,n,p;
for(n=1000;
for(p=33;
p<
100;
p++)
{I=n/1000;
j=(n/100)%10;
k=(n/10)%10;
L=n%10;
if(I+k==6&
j*L==24&
p*p==m)m++;
printf(“%d\n”,m);
1
41题:
当k值为20时,求s的值.
(1^2/(1*3))*(4^2/(3*5))*(6^2/(5*7))…*(2k)^2/((2k-1)(2k+1))(按四舍五入的方式精确到小数点后面第四位)。
程序如下:
{floats;
intm;
s=1.0/(1.0*3);
for(m=2;
s=s*4*m*m/((2*m-1)*(2*m+1))
printf(“s=%8.3f”,s);
运行结果:
1.388
42题:
当m的值为50时,计算下列公式之值:
1-1/2-1/3-1/4-┄-1/m(求按四舍五入的方式精确到小数点后面第四位)。
makn()
{floatt;
intK;
t=1.0;
for(K=2;
K<
K++)
t=t–1.0/K;
prkntf(“%8.4f”,t);
–2.4992
43题:
求m的值为50时,计算下列公式之值:
t=1+1/(2^2)+1/(3^2)+……+1/(m^2).(按四舍五入的方式精确到小数点后面第四位)
inti;
floatx,y;
x=1/(float)(i*i);
y+=x;
printf(“y=%f”,y);
1.6251
44题:
当n=20时,求
s=1+(1+2^0.5)+(1+2^0.5+3^0.5)+………+(1+2^0.5+3^0.5+……+n^0.5)的值。
#include”math.h”