1、输入3个数,求最大值_第1页
1、输入3个数,求最大值_第2页
1、输入3个数,求最大值_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、50道C/C+程练习题1、输入3个数,求最大值intmain()(inta,b,c,m;cinabc;m=a;if(bm)m=b;if(cm)m=c;coutm;2、编程序,求方程ax2+bx+c=0的根#include#includeusingnamespacestd;intmain()(doublea,b,c,d,x1,x2;cinabc;if(a=0)if(b=0)couterrorn”;elsecoutx=-c/bendl;else(d=b*b-4*a*c;if(fabs(d)=1e-6)coutx1=x2=-b/(2*a)1e-6)(x1=(-b+sqrt(d)/(2*a);x2=(

2、-b-sqrt(d)/(2*a);coutx1=x1,x2=x2endl;elsecouta;if(a=90)cout=80)cout=70)cout=60)coutD;elsecoutabc;if(a+bc&b+ca&c+ab)cout可以构成三角形;elsecouta;max=min=a;s=a;for(i=1;ia;if(amax)max=a;if(amin)min=a;s=s+a;coutmax”,min”,s/20.0n;cina;m=a;s=a;for(inti=1;ia;s+=a;if(am)m=a;cout平均值:(double)s/n,最大值:mendl;7、输入若干个数,输

3、入-999表示结束,求平均值及最大值。#include#include#includeusingnamespacestd;intmain()(intn,count,sum,max;doubleave;count=0;cinn;sum=0;max=n;while(n!=-999)(sum=sum+n;if(nmax)max=n;count+;cinn;if(count!=0)(ave=static_cast(sum)/count;coutsetiosflags(ios:fixed)setprecision(2);cout平均值为:ave最大值为:maxendl;8、求和s=1*1+2*2+3*3

4、+.+100*100intmain()(inti,t;doubles=0;for(i=1;i=100;i+)(t=i*i;s=s+t;9、印度国王的奖励,求和s=20+21+22+.+263intmain()(doublet=1,s=0;for(inti=0;i=63;i+)(s=s+t;t=2*t;couts/1.4e8endl;10、求和s=1!+2!+3!+.+10!intmain()(inti;longt,s;t=1;s=0;for(i=1;i=1e-7)(t=t/i;e=e+t;i=i+1;cout1e-8)(pi=pi+t;i=i+2;k=-k;t=double(k)/i;cout

5、4*pi;13、求PI值,PI/2=1+1/3+1/3*2/5+1/3*2/5*3/7+.#include#includeintmain()(inti,j;doublepi,t;i=0;j=1;t=1;pi=0;while(t1e-18)(pi=pi+t;i=i+1;j=j+2;t=t*i/j;coutsetprecision(17)2*pi;14、输入20个数,统计其中正数、负数和零的个数。intmain()inta,n=0,m=0,s=0;for(inti=1;ia;if(a0)n+;elseif(a0)m+;elses+;coutnma;while(a!=0)if(a%2=0)n+=a;

6、elsem+=a;cina;coutnm;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)coutiendl;intmain()inti,a,b,c;for(a=1;a=9;a+)for(b=0;b=9;b+)for(c=0;c=9;c+)i=

7、a*100+b*10+c;if(i=a*a*a+b*b*b+c*c*c)coutiendl;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)coutnendl;19、写一函数,求斐波那契数列的第n项。intfib(intn)inti,f1,f2,f;if(n=1|n=2

8、)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)(coutn%10;n/=10;voidshow(intn)(if(n10)coutn;else(coutn%1010)(k*=10;m/=10;while(n)(coutn/k=0;j-)coutaj

9、;voidshow(intn)(if(n10)coutn;else(show(n/10);coutn%10;23、求一个整数的各位数之和的函数intsum(intn)(ints=0;while(n)(s+=n%10;n/=10;returns;24、写一函数,判断某个数是否素数,以及求1一1000之内的素数#include#include#includeusingnamespacestd;boolisprime(intn)(floatk=sqrt(float(n);for(inti=2;i=k;i+)if(n%i=0)returnfalse;returntrue;intmain()(for(i

10、ntn=2;n=1000;n+)if(isprime(n)coutsetw(5)n;25、用筛法求11000之内的素数#include#include#include#includeusingnamespacestd;intmain()(inti,k,a1001;for(i=2;i=1000;i+)ai=1;floats=sqrt(float(1000);for(i=2;i=s;i+)if(ai=1)k=2*i;while(k=1000)ak=0;k=k+i;for(i=2;i=1000;i+)if(ai=1)coutsetw(5)n)m=m-n;elsen=n-m;returnm;29、求两

11、个数的最小公倍数intlcm(intm,intn)intt,s;if(mn)t=m;m=n;n=t;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)coutsetw(4)cocksetw

12、(4)hensetw(4)chick=a&si=z)count+;i+;coutcount=A&si=Z)si=si+32;coutsendl;33、打印杨辉三角形(帕斯卡三角形),打印10行。#include#includeusingnamespacestd;intmain()(inta1010=0;for(inti=0;i10;i+)ai0=1;aii=1;for(inti=1;i10;i+)for(intj=1;ji;j+)aij=ai-1j-1+ai-1j;for(inti=0;i10;i+)for(intj=0;j=i;j+)coutsetw(4)aij;coutendl;34、打印

13、一个九九乘法表#include#includeusingnamespacestd;intmain()for(intj=1;j=9;j+)for(inti=1;i=j;i+)couti*j=setw(2)i*j”;coutendl;35、掷骰子10000次,统计得到各点数的次数。intmain()inta7=0;srand(time(0);for(inti=1;i=10000;+i)+a1+rand()%6;for(inti=1;i=6;+i)couti”:aiendl;36、编写函数distance,计算两点(x1,y1)和(x2,y2)之间的距离。doubledistance(doublex

14、1,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;ix;s=s+x;if(xmax)max=x;s=s-min-max;couts/8;38、写一函数,将一数组中的元素反转。voidreverse(inta,intn)for(inti=0;in/2;i+)swap(ai,an-i

15、-1);39、写一函数,在一个数组中找出最大元素的位置intSearchMax(inta,intn)intk=0;for(inti=1;iak)k=i;returnk;40、找出一个二维数组中的鞍点,即该元素在该行上最大,在该列上最小。41、写一个字符串拷贝函数voidstrcpy(char*p,constchar*q)(while(*p+=*q+);char*strcpy(char*str1,constchar*str2)(char*p=str1;while(*str1+=*str2+);returnp;42、写一个字符串比较函数intstrcmp(char*str1,constchar*s

16、tr2)(while(*str1&*str2&*str1=*str2)(str1+;str2+;return*str1-*str2;intstrcmp(char*str1,constchar*str2)(while(*str1=*str2)(if(*str1=0)return0;str1+;str2+;return*str1-*str2;43、写一个字符串连接函数char*strcat(char*str1,char*str2)(char*p=str1;while(*str1!=0)str1+;while(*str1+=*str2+);returnp;44、写一个求字符串长度函数intstrle

17、n(char*str)(intn=0;while(*str!=0)(n+;str+;returnn;45、写一函数,在一数组里查找某个值。intsearch(inta,intn,intkey)(for(inti=0;iyearmonthday;for(i=1;i2)s+;couts;48、编写一个帮助小学生学习加法的程序,随机产生2个数,让学生输入答案。#include#includeusingnamespacestd;intmain()(intx,y,z;srand(time(0);x=rand()%1000;y=rand()%1000;coutx+yz;while(z!=0)(while(

18、z!=x+y)(coutx错误!请重做n”;coutx+yz;coutV正确!n;x=rand()%1000;y=rand()%1000;coutx+yz;49、从52个数里选13个数intmain()(inti,k,a52,b13;for(i=0;i52;i+)ai=i+1;srand(time(0);for(i=0;i13;i+)(k=rand()%(52-i);bi=ak;swap(ak,a51-i);for(i=0;i13;i+)coutbi;50、求100!#include#include#includeusingnamespacestd;constlongMOD=10000;intmain()(intt,t0=time(0);intlen,n=100000;un

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论