C++程序设计题解与上机指导_习题程序.docx

上传人:文*** 文档编号:83244808 上传时间:2023-03-29 格式:DOCX 页数:130 大小:129.79KB
返回 下载 相关 举报
C++程序设计题解与上机指导_习题程序.docx_第1页
第1页 / 共130页
C++程序设计题解与上机指导_习题程序.docx_第2页
第2页 / 共130页
点击查看更多>>
资源描述

《C++程序设计题解与上机指导_习题程序.docx》由会员分享,可在线阅读,更多相关《C++程序设计题解与上机指导_习题程序.docx(130页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C+程序设计题解与上机指导 习题程序习题Xtl-5#include using namespace std;int main()(cout,ThisM,isM;coutvv“a“vv“C+”;coutprogram.return 0;Xtl-6#include using namespace std; int main()(int a,b,c;a=10;b=23;c=a+b;couta+b=,;coutc;coutendl;return 0;Xtl-7#include using namespace std;int main()int a,b,c;int f(int x,int y,int z

2、);cinabc;c=f(a,b,c);coutcendl;return 0;)int f(int xjnt y,int z)(int m;if (xy) m=x;else m=y;if (zm) m=z;retum(m);Xtl-8#include using namespace std;int main()(int a,b,c;cinab;c=a+b;couta+b=a+bendl;return 0;Xtl-9#include using namespace std;int main()(int a,b,c;int add(int x,int y);cinab;c=add(a,b);cou

3、tna+b= ncendl;return 0;)int add(int x,int y)int z;z=x+y;retum(z);题Xt2-3#include using namespace std; int main()char cl=,a,c2=b;c3=c,c4=M0r,c5=,l 161;coutc Ic2c3n;cout,tbc4,tc5,n,;return 0;Xt2-4#include using namespace std;int main()charcl=C,c2=,+,c3=+,;coutI say: “vvckvc2vvc3vv*V;coutttMHHe says: C+

4、 is very interesting!n;return 0;Xt2-7#include using namespace std; int main()int ij,m,n;i=8;j=10;m=+i 土j+;n=( +i)+(+吋)+m;coutit,j,t,mt,nendl; return 0;Xt2-8#include using namespace std;int main()char cl二C, c2=h; c3=i; c4=n, c5=a;cl+=4;c2+=4;c3+=4;c4+=4;c5+=4;coutpassword is: c 1 c2c3c4c5endl;return

5、0;题三Xt3-2#include #include using namespace std;int main ()float h,r,l,s,sq,vq,vz;const float pi=3.1415926;coutplease enter r,h:M;cinrh;l=2*pi*r;s=r*r*pi;sq=4*pi*r*r;vq=3.0/4.0*pi*r*r*r;vz=pi*r*r*h;coutsetiosflags(ios:fixed)setiosflags(ios:right) setprecision(2);coutl= setw(l 0)lendl;couts= setw( 10)

6、sendl;coutsq=setw(10)sqendl;coutvq=setw( 10)vqe ndl;coutvz=setw( 10)vzendl;return 0;)Xt3-3#include using namespace std;int main ()float c,f;coutv,请输入一个华氏温度:;cinf;c=(5.0/9.0)*(f-32);注意5和9要用实型表示,否则5/9值为coutv摄氏温度为:“vvcvvendl;return 0;Xt3-4#include using namespace std; int main () char cl,c2;cout”请输入两个字

7、符cl,c2:;cl=getchar()J将输入的第一个字符赋给clc2=getchar();将输入的第二个字符赋给c2coutv”用putchar函数输出结果为;putchar(cl);putchar(c2);coutendl;cout用cout语句输出结果为:; coutc 1 c2endl;return 0;Xt3-4-l#include using namespace std;int main ()char cl,c2;coutvv”请输入两个字符cl,c2:n;cl=getchar();将输入的第一个字符赋给clc2=getchar();将输入的第二个字符赋给c2coutMJl pu

8、tchar函数输出结果为; putchar(cl); putchar(44); putchar(c2); coutendl; cout用cout语句输出结果为:; coutc 1 , c 2endl;Xt3-5#include using namespace std;int main ()char cl,c2;intil,i2;定义为整型coutv请输入两个整数il,i2:;cinili2;cl=il;c2=i2;8utv”按字符输出结果为:“vvclvv,vc2endl;return 0;Xt3-8#include using namespace std; int main () int a

9、=3,b=4,c=5,x,y;cout(a+bc & b=c)endl;cout(allb+c & b-c)endl;cout( !(ab) & !clll)endl;cout( !(x=a) & (y=b) & 0)endl;cout( !(a+b)+c-l & b+c/2)endl;return 0;Xt3-9-l#include using namespace std;int main ()int a,b,c;coutHplease enter three integer numbers: cinabc;if(ab)if(bc)cout max=nc; elsecoutKmax=nb;e

10、lse if (ac)cout,max=Mc;elsecoutmax=*a;coutendl;return 0;Xt3-9-2#include using namespace std;int main ()int a,b,c,temp,max ;coutnplease enter three integer numbers:0;cinabc;temp=(ab)?a:b;/ 将a和b中的大者存入temp中/max=(tempc)?temp:c;/ 将a和b中的大者与c比较,最大者存入max*/cout,max=,maxendl;return 0;Xt3-10#include using name

11、space std; int main ()int x,y;cout,enter x:M;cinx;if(xl)y=x;cout,x=,x, y=x=ny;)else if (x 10) IWxVIOy=2*x-l;coutHx=nxn, y=2*x-1 =My;)elsex210y=3*x-l 1;coutx=nx, y=3*x-l l=ny;)coutendl;Xt3-ll#include using namespace std;int main ()float score;char grade;coutplease enter score of student: 0;cinscore;w

12、hile (score 100llscore0)coutMdata error,enter data again.”; cinscore;)switch(int(score/10)case 10:case 9: grade=A,;break;case 8: grade=,B,;break;case 7: grade=Cr;break;case 6: grade=,D;break;default: grade=,E,;)coutnscore is ,score, grade is ngradeendl;return 0;Xt3-12#include using namespace std;int

13、 main ()long int num;int indiv,ten,hundred,thousand,ten_thousand,place;/分别代表个位,十位,百位,千位,万位和位数/coutHenter an integer(99999):“; cinnum;if(num9999)place=5;else if (num999)place=4;else if (num99)place=3;else if (num9)place=2;else place=l;coutplace=placeendl;计算各位数字ten_thousand=nunV 10000;thousand=(int)(n

14、um-ten_thousand* 10000)/1000;hundred=(int)(num-ten_thousand* 10000-thousand* 1000)/100;ten=(int)(num-ten_thousand* 10000-thousand* 1000-hundred* 100)/10;indiv=(int)(num-ten_thousand* 10000-thousand* 1000-hundred*l 00-ten* 10);coutoriginal order:switch( place)case5:coutten_thousand,thousand,hundred,t

15、en,indivendl;cout re verse order:H;coutindivtenhundredthousandten_thousandendl;break;case 4:coutthousand,hundred,ten,indivendl;coutMre verse order:H;coutindivtenhundredthousandendl;break;case 3:couthundred,ten,/indivendl;coutre verse order:coutindivtenhundredendl;break;case 2:coutten,indivendl;cout

16、re verse order:;coutindivtenendl;break;case 1: coutindive ndl;coutre verse order:;coutindivendl;break;)return 0;Xt3-13-1#include using namespace std;int main () long i;/i 为利润float bonus,bon 1 ,bon2,bon4,bon6,bon 10;bonl=100000*0.1;bon2=bon 1 + 100000*0.075;bon4=bon2+100000*0.05;bon6=bon4+100000*0.03

17、;bon10=bon6+400000*0.015;利润为10万元时的奖金 利润为20万元时的奖金 利润为40万元时的奖金 利润为60万元时的奖金 利润为100万元时的奖金coutenter i:;cini;if (i= 100000)bonus=i*0.1;else if(i=200000)bonus=bon 1 +(i-l00000)*0.075;else if (i=400000)bonus=bon2+(i-200000)*0.05;elseif(i=600000)bonus=bon4+(i-400000)*0.03;else if (i= 1000000)bonus=bon6+(i-60

18、0000)*0.015; elsebonus=bonl 0+(i-l 000000)*0.01;利润在10万元以内按10%提成奖金利润在10万元至20万时的奖金利润在20万元至40万时的奖金利润在40万元至60万时的奖金利润在60万元至100万时的奖金利润在100万元以上时的奖金coutbonus=bonusendl;return 0;Xt3-13-2#include using namespace std; int main ()(long i;float bonus,bon 1 ,bon2,bon4,bon6,bon 10;int c;bon 1=1000()0*0.1;bon2=bon

19、1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon 10=bon6+4(X)000*0.015;coutenter i:;cini;c=i/100000;if(O10) c=10;switch(c)case 0: bonus=i*0.1; break;case 1: bonus=bon 1 +(i-100000)*0.075; break; case 2:case 3: bonus=bon2+(i-200000)*0.05;break;case 4:case 5: bonus=bon4+(i-4(X)000)*0.03;

20、break;case 6:case 7:case 8:case 9: bonus=bon6+(i-600000)*0.015; break;case 10: bonus=bonl0+(i-l()00(X)0)*0.01;)coutMbonus=,bonusendl;return 0;Xt3-14#include using namespace std;int main ()int t,a,b,c,d;coutenter four numbers:M;cinabcd;coutMa=,ab)t=a;a=b;b=t;if (ac)t=a; a=c; c=t;if (ad)t=a; a=d; d=t;

21、if (bc)t=b; b=c; c=t; if (bd)t=b; b=d; d=t;if (cd)t=c; c=d; d=t;coutMthe sorted sequence:vvendl;couta Hb, cn, ,dendl;return 0;)Xt3-15#include using namespace std; int main ()int p,r,n,m,temp;coutplease enter two positive integer numbers cinnm;if (nm)temp二n;n=m;m=temp;把大数放在n中,小数放在m中p=n*m;while (m!=0)

22、先将n和m的乘积保存在p中,以便求最小公倍数时用 求n和m的最大公约数r=n%m;n=m;m=r;/ p是原来两个整数的乘积cout,HCF=,nendl; coutHLCD=np/ne ndl; return 0;Xt3-16#include using namespace std;int main ()char c;int Ietters=0,space=0,digit=0,other=0;coutenter one line:uendl;while(c=getchar() !=*n)if (c=a & c=,A, & c=0 & c=9)digit+;elseother+;coutnle

23、tter:nletters, space:space, digit:ndigitn, other:Motherendl; return 0;Xt3-17#include using namespace std;int main ()int a,n,i= l,sn=O,tn=O;coutMa,n=:M;cinan;while (i=n)tn=tn+a;赋值后的tn为i个a组成数的值sn=sn+tn; 赋值后的sn为多项式前i项之和 a=a*l 0; +i;)cout,a+aa+aaa+.=,snendl;return 0;Xt3-18#include using namespace std; i

24、nt main ()float s=0,t= 1;int n;for (n=l ;n=20;n+)t=t*n;求 n!s=s+t;/将各项累加)coutHl !+2!4-.+20!=sendl;return 0;Xt3-19#include using namespace std;int main ()int i,j,k,n;coutnarcissus numbers are:vvendl: for (n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;if (n = i*i*i + j*j*j + k*k*k) coutnH H;)coutendl;retur

25、n 0;Xt3-20-lusing namespace std;int main()const int m=1000;#include if(s=O)/s=0表示全部因子都已找到了int kl,k2,k3,k4,k5,k6,k7,k8,k9,kl0;int i,a,n,s;for (a=2;a=m;a+)a是21000之间的整数,检查它是否为完数n=0;n用来累计a的因子的个数s=a;s用来存放尚未求出的因子之和,开始时等于afor (i=l;il) coutkl,k2;/ nl 表示 a 至少有 2 个因子if(n2) cout,k3; / n2表示至少有3个因子,故应再输出一个因子 if(

26、n3) cout,k4; / n3表示至少有4个因子,故应再输出一个因子 if (n4) coutM,k5; /Z 以下类似 if (n5) coutH,Hk6;if (n6) coutM,nk7;if(n7)cout,k8;if(n8)cout,k9;if(n9) cout,klO;coutendlendl;)return 0;Xt3-20-2#include using namespace std;int main()int m,s,i;for (m=2;m1000;m+)s=0;for (i=l;im;i+)if (m%i)=0) s=s+i;if(s=m)coutmM is a 完数”

27、vvendl; coutits factors are:;for (i=l;im;i+)if (m%i=0) coutiH ; coutendl;return 0;)Xt3-20-3#include using namespace std;int main()int kll;int i,a,n,s;for(a=2;a=1000;a+)n=0;s=a;for (i=l;ia;i+)if(a%i)=0)n+;s=s-i;kn=i;/将找到的因子赋给)if(s=O)couta is a 完数vvendl;coutits factors are:;for (i=l;in;i+)coutki;coutk

28、n e ndl;)return 0;Xt3-21#include using namespace std; int main() int i,t,n=20;double a=2,b=l,s=0;for (i=l;i=n;i+) s=s+a/b;t=a;a=a+b;/Z将前项分子与分母之和作为下项的分子b=t;/Z将前项的分子作为下项的分母 coutsum=sendl; return 0; )Xt3-22#include using namespace std; int main()int day,xl,x2;day=9;x2=l;while(day0)xl=(x2+l)*2;/第1天的桃子数是

29、第2天桃子数加1后的2倍x2=x1; day;)cout,total=,x lendl;return 0;Xt3-23#include #include using namespace std;int main()float a,x0,xl;coutenter a positive number:n;cina;/Z输入a的值x0=a/2;x 1=(x0+a/x0)/2;dox0=xl;xl=(xO+a/xO)/2;)while(fabs( x0-xl)=le-5);coutMThe square root of ,af, is uxlendl;return 0;Xt3-24#include u

30、sing namespace std;int main()int i,k;for (i=0;i=3;i+)/Z 输出上面 4 行号for (k=0;k=2*i;k+)coutvv*;/Z 输出号coute ndl;输出完一行号后换行for (i=0;i=2;i+) /Z 输出下面 3 行号for (k=0;k=4-2*i;k+)coutH*M;输出号coutendl;/输出完一行号后换行)return 0;Xt3-25#include using namespace std;int main()char i,j,k;/* i是a的对手;j是b的对手;k是c的对手/for(i=,X,;i=Z;i

31、+)for (j=X;jv=Z;j+)if (旧)for(k二X;kv=Z;k+)if(i!=k&j!=k)if(i!=X & k!=X & k!Z)cout,A-,iM B-,jM C-Ukendl;return 0;习题四Xt4-1#include using namespace std;int main()int hcf(int,int);int lcd(int,int,int);int u,v,h,l;cinuv;h=hcf(u,v);cout,H.C.F=,u)t=u;u=v;v=t;while (r=u%v)!=O)u=v;v=r; return(v);int lcd(int uj

32、nt v,int h) retum(u*v/h);Xt4-2#include #include using namespace std; float xl,x2,disc,p,q;int main()void greater_than_zero(float,float);void eq ual_to_zero(fl oat, fl oat);void smaller_than_zero( float,float);float a,b,c;coutinput a,b,c:n;cinabc;disc=b*b-4*a*c;coutMroot:nendl;if (disc0)gre ate r_tha

33、n_ze ro( a,b);coutHx 1 =x 1 H,x2=nx2endl; )else if (disc=O) e qu al_t o_zero( a, b);coutvx 1 = vx 1 0 时方程的根 /x l=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);)voidequal_to_zero(float a,float b)/ 定义个函数,用来求 disc=0 时方程的根 /(xl=x2=(-b)/(2*a);void smaller_than_zero(float a,float b) / 定义个函数,用来求 disc0 时方程的根

34、 / p=-b/(2*a);q=sqrt(-disc)/(2*a);)Xt4-3#include using namespace std;int main()int prime(int);/函数原型声明/int n;cout,input an integer:cinn;if (prime(n)coutnH is a prime.,endl;elsecoutn is not a prime.uendl;return 0;)int prime(int n)intflag=l,i;for (i=2;in/2 & flag=I;i+)if(n%i=0)flag=0;retum(flag);Xt4-4#

35、include using namespace std; int main()int fac(int);int a,b,c,sum=O;coutnenter a,b,c:M;cinabc;sum=su m+fac( a)+fac( b)+fac( c);coutaM !+b !+,cM !=sumendl;return 0;)int fac(int n)int f=l,for (int i=l;i=n;i+)f=f*i;return f;Xt4-5#include #include using namespace std;int main()double e(double);double x,

36、sinh;cout enter x:;cinx;sinh=(e(x)+e(-x)/2;coutsinh(x)=sinhendl;return 0;)double e(double x)return exp(x);Xt4-6#include #include using namespace std;int main()double solut(double ,double ,double ,double );double b,c,d;coutinput a,b,c,d:;cinabcd;cout,x=,solut(a,b,c,d)endl;return 0;)double solut(double a,double b,double c,double d) double x=l,x0,f,fl;dox0=x;fe(a* xO+b) * xO+c)* xO+d;fl=(3*a*x0+2*b)*x0+c;x=xO-f7fl;while(fabs(x-xO)= le-5);return(x);Xt4-7#include #include using namespace std;int main()void godbaha(int);int n;coutMinput n:M;cinn;godbaha(n);return 0;void godbaha(int n)int prime(

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁