50道C++编程练习题及解答c 编程例题.docx

上传人:b****1 文档编号:273444 上传时间:2023-04-28 格式:DOCX 页数:20 大小:18.84KB
下载 相关 举报
50道C++编程练习题及解答c 编程例题.docx_第1页
第1页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第2页
第2页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第3页
第3页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第4页
第4页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第5页
第5页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第6页
第6页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第7页
第7页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第8页
第8页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第9页
第9页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第10页
第10页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第11页
第11页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第12页
第12页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第13页
第13页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第14页
第14页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第15页
第15页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第16页
第16页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第17页
第17页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第18页
第18页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第19页
第19页 / 共20页
50道C++编程练习题及解答c 编程例题.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

50道C++编程练习题及解答c 编程例题.docx

《50道C++编程练习题及解答c 编程例题.docx》由会员分享,可在线阅读,更多相关《50道C++编程练习题及解答c 编程例题.docx(20页珍藏版)》请在冰点文库上搜索。

50道C++编程练习题及解答c 编程例题.docx

50道C++编程练习题及解答c编程例题

50道C/C++编程练习题之阿布丰王创作

1、输入3个数,求最年夜值

intmain()

{inta,b,c,m;

cin>>a>>b>>c;

m=a;

if(b>m)m=b;

if(c>m)m=c;

cout<

}

2、编法式,求方程ax2+bx+c=0的根

#include

#include

usingnamespacestd;

intmain()

{

doublea,b,c,d,x1,x2;

cin>>a>>b>>c;

if(a==0)

if(b==0)cout<<"error\n";

elsecout<<"x="<<-c/b<

else

{d=b*b-4*a*c;

if(fabs(d)<=1e-6)

cout<<"x1=x2="<<-b/(2*a)<

elseif(d>1e-6)

{x1=(-b+sqrt(d))/(2*a);

x2=(-b-sqrt(d))/(2*a);

cout<<"x1="<

}

elsecout<<"方程无实根\n";

}

}

3、输入一个成果,打印相应的品级

intmain()

{inta;

cin>>a;

if(a>=90)cout<<"A";

elseif(a>=80)cout<<"B";

elseif(a>=70)cout<<"C";

elseif(a>=60)cout<<"D";

elsecout<<"E";

}

4、输入3个double类型的值,判断这3个值是否可以暗示一个三角形的三条边.

intmain()

{

doublea,b,c;

cin>>a>>b>>c;

if(a+b>c&&b+c>a&&c+a>b)

cout<<"可以构成三角形";

else

cout<<"不成以构成三角形";

}

5、输入20个数,求其最年夜、最小和平均值

intmain()

{

inti;

inta,max,min,s;

cin>>a;

max=min=a;s=a;

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

{cin>>a;

if(a>max)max=a;

if(a

s=s+a;

}

cout<

}

6、输入若干个数,设输入的第一个数为后面要输入的数的个数,求平均值及最年夜值.

intmain()

{

inta,m,s=0;

cin>>n;

cin>>a;

m=a;s=a;

for(inti=1;i

{cin>>a;

s+=a;

if(a>m)m=a;

}

cout<<"平均值:

"<<(double)s/n<<",最年夜值:

"<

}

7、输入若干个数,输入-999暗示结束,求平均值及最年夜值.

#include

#include

#include

usingnamespacestd;

intmain()

{intn,count,sum,max;

doubleave;

count=0;

cin>>n;

sum=0;max=n;

while(n!

=-999)

{sum=sum+n;

if(n>max)max=n;

count++;

cin>>n;

}

if(count!

=0)

{ave=static_cast(sum)/count;

cout<

:

fixed)<

(2);

cout<<"平均值为:

"<

"<

}

}

8、求和s=1*1+2*2+3*3+...+100*100

intmain()

{inti,t;

doubles=0;

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

{t=i*i;

s=s+t;

}

}

9、印度国王的奖励,求和s=20+21+22+...+263

intmain()

{doublet=1,s=0;

for(inti=0;i<=63;i++)

{s=s+t;

t=2*t;

}

cout<

}

10、求和s=1!

+2!

+3!

+...+10!

intmain()

{inti;

longt,s;

t=1;s=0;

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

{t=t*i;

s=s+t;

}

}

11、求e=1+1/1!

+1/2!

+1/3!

+...

intmain()

{inti;

doublet,e;

i=1;t=1;e=1;

while(t>=1e-7)

{t=t/i;

e=e+t;

i=i+1;

}

cout<

}

12、求PI值,PI/4=1-1/3+1/5-1/7+...

intmain()

{inti,k;

doublepi,t;

i=1;t=1;pi=0;k=1;

while(fabs(t)>1e-8)

{pi=pi+t;

i=i+2;

k=-k;

t=double(k)/i;

}

cout<<4*pi;

}

13、求PI值,PI/2=1+1/3+1/3*2/5+1/3*2/5*3/7+...

#include

#include

intmain()

{

inti,j;

doublepi,t;

i=0;j=1;t=1;pi=0;

while(t>1e-18)

{pi=pi+t;

i=i+1;

j=j+2;

t=t*i/j;

}

cout<

}

14、输入20个数,统计其中正数、负数和零的个数.

intmain()

{

inta,n=0,m=0,s=0;

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

{cin>>a;

if(a>0)n++;

elseif(a<0)m++;

elses++;

}

cout<

}

15、输入若干个整数,计算其中的奇数之和与偶数之和,假设输入0暗示结束.

intmain()

{inta,n=0,m=0;

cin>>a;

while(a!

=0)

{if(a%2==0)n+=a;;

elsem+=a;

cin>>a;

}

cout<

}

16、写一函数,计算x的y次方(假设x、y都为正整数).

intpow(intx,inty)

{ints=1;

for(inti=1;i<=y;i++)

s=s*x;

returns;

}

17、求水仙花数(一个三位数,其各位数字立方和即是该数字自己)

intmain()

{inti,a,b,c;

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

{a=i/100;

b=i/10%10;

c=i%10;

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

cout<

}

}

intmain()

{inti,a,b,c;

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

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

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

{i=a*100+b*10+c;

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

cout<

}

}

18、编写一个函数,确定一个整数是否为完全数(一个数,即是他的因子之和).用这个函数确定和打印1到1000之间的所有完全数.

intperfect(intn)

{inti,s=1;

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

if(n%i==0)s=s+i;

if(s==n)return1;

elsereturn0;

}

intmain()

{intn;

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

ifperfect(n)

cout<

}

19、写一函数,求斐波那契数列的第n项.

intfib(intn)

{

inti,f1,f2,f;

if(n==1||n==2)return1;

f1=1;f2=1;

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

{f=f1+f2;

f1=f2;

f2=f;

}

returnf;

}

20、写一个函数,取一个整数值并返回将此整数的各数字反序的数值

intreverse(intn)

{ints=0;

while(n)

{s=s*10+n%10;

n/=10;

};

returns;

}

21、写一个函数,将一个整数的各位数字的反序打印

voidshow(intn)

{while(n)

{cout<

n/=10;

};

}

voidshow(intn)

{if(n<10)cout<

else

{cout<

show(n/10);

}

}

22、写一个函数,将一个整数的各位数字的按顺序打印出来

voidshow(intn)

{

intk=1,m=n;

while(m>10)

{k*=10;m/=10;}

while(n)

{cout<

n%=k;

k/=10;

};

}

voidshow(intn)

{inta[10],i=0;

while(n)

{a[i]=n%10;

n/=10;

i++;

}

for(intj=i-1;j>=0;j--)

cout<

}

voidshow(intn)

{if(n<10)cout<

else

{show(n/10);

cout<<""<

}

}

23、求一个整数的各位数之和的函数

intsum(intn)

{ints=0;

while(n)

{s+=n%10;

n/=10;

};

returns;

}

24、写一函数,判断某个数是否素数,以及求1-1000之内的素数

#include

#include

#include

usingnamespacestd;

boolisprime(intn)

{floatk=sqrt(float(n));

for(inti=2;i<=k;i++)

if(n%i==0)returnfalse;

returntrue;

}

intmain()

{for(intn=2;n<=1000;n++)

if(isprime(n))cout<

}

25、用筛法求1-1000之内的素数

#include

#include

#include

#include

usingnamespacestd;

intmain()

{

inti,k,a[1001];

for(i=2;i<=1000;i++)a[i]=1;

floats=sqrt(float(1000));

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

if(a[i]==1)

{k=2*i;

while(k<=1000)

{a[k]=0;

k=k+i;

}

}

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

if(a[i]==1)cout<

}

26、判断某一年是否闰年的函数

boolIsLeapYear(inty)

{return(y%4==0&&y%100!

=0)||(y%400==0);

}

27、写一个函数,交换两个整型变量的值

voidswap(int*p,int*q)

{intt;

t=*p;*p=*q;*q=t;

}

voidswap(int&a,int&b)

{intt;

t=a;a=b;b=t;

}

28、求两个数的最年夜公约数,欧几里德算法(辗转相除法)

intgcd(intm,intn)

{intk;

while(n!

=0)

{k=m%n;m=n;n=k;}

returnm;

}

intgcd(intm,intn)

{intk;

while((k=m%n)!

=0)

{m=n;n=k;}

returnn;

}

intgcd(intm,intn)

{while(m!

=n)

{if(m>n)m=m-n;

elsen=n-m;

}

returnm;

}

29、求两个数的最小公倍数

intlcm(intm,intn)

{intt,s;

if(m

s=m;

while(s%n!

=0)s=s+m;

}

intlcm(intm,intn)

{

returnm*n/gcd(m,n);

}

30、百钱买百鸡问题:

鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡,问鸡翁、母、雏各几何?

intmain()

{

intcock,hen,chick;

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

for(hen=0;hen<=33;hen++)

{chick=100-cock-hen;

if(5*cock+3*hen+chick/3.0==100)

cout<

}

}

31、编一法式,输入一行字符串,统计其中的小写英文字母的个数.

intmain()

{chars[100];

cin.getline(s,100);

inti=0,count=0;

while(s[i]!

='\0')

{if(s[i]>='a'&&s[i]<='z')

count++;

i++;

}

cout<

}

32、编一法式,输入一行字符串,将其中的年夜写英文字母改为小写,再输出.

intmain()

{chars[100];

inti;

cin.getline(s,100);

i=0;

while(s[i]!

='\0')

if(s[i]>='A'&&s[i]<='Z')

s[i]=s[i]+32;

cout<

}

33、打印杨辉三角形(帕斯卡三角形),打印10行.

#include

#include

usingnamespacestd;

intmain()

{inta[10][10]={0};

for(inti=0;i<10;i++)

{a[i][0]=1;

a[i][i]=1;

}

for(inti=1;i<10;i++)

for(intj=1;j

a[i][j]=a[i-1][j-1]+a[i-1][j];

for(inti=0;i<10;i++)

{for(intj=0;j<=i;j++)

cout<

cout<

}

}

34、打印一个九九乘法表

#include

#include

usingnamespacestd;

intmain()

{

for(intj=1;j<=9;j++)

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

cout<

(2)<

cout<

}

}

35、掷骰子10000次,统计获得各点数的次数.

intmain()

{inta[7]={0};

srand(time(0));

for(inti=1;i<=10000;++i)

++a[1+rand()%6];

for(inti=1;i<=6;++i)

cout<

"<

}

36、编写函数distance,计算两点(x1,y1)和(x2,y2)之间的距离.

doubledistance(doublex1,doubley1,doublex2,doubley2)

{

returnsqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));

}

37、写一个法式,进行体操评分,依次输入10名评委所评分数,去除一个最高分和一个最低分,再算出平均分作为选手的得分.

intmain()

{inti;

floatmax,min,s,x;

max=0;min=10;s=0;

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

{cin>>x;

s=s+x;

if(x

if(x>max)max=x;

}

s=s-min-max;

cout<

}

38、写一函数,将一数组中的元素反转.

voidreverse(inta[],intn)

{for(inti=0;i

swap(a[i],a[n-i-1]);

}

39、写一函数,在一个数组中找出最年夜元素的位置

intSearchMax(inta[],intn)

{intk=0;

for(inti=1;i

if(a[i]>a[k])k=i;

returnk;

}

40、找出一个二维数组中的鞍点,即该元素在该行上最年夜,在该列上最小.

41、写一个字符串拷贝函数

时间:

二O二一年七月二十九日

展开阅读全文
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

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

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