您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 北邮c++第五章实验
第五章1、编写完成下列任务的程序段。(a)计算整数a除以整数b的商的整数部分。(b)计算整数a除以整数b的余数。(c)用(a)和(b)中的程序段编写一个程序,输入1到32767之间的整数,打印成一系列数字,每一对数字之间用两个空格分开。例如,整数4562打印为:4562#includeiostreamusingnamespacestd;inlineintinteger(inta,intb){returna/b;}inlineintresidue(inta,intb){returna%b;}voidmain(){constshortidiv[4]={10000,1000,100,10};shortnumber;shortres,intg;coutinputnumber(1~32767,0forend.):;cinnumber;while(number!=0){for(intk=0;k4;k++){intg=integer(number,idiv[k]);res=residue(number,idiv[k]);if(intg10&&intg0){coutintg;number=res;}}coutresendl;coutinputnumber(1~32767,0forend.):;cinnumber;}}2、编写函数把华氏温度转换为摄氏温度,公式为C=(F–32)5/9;在主程序中提示用户输入一个华氏温度,转化后输出相应的摄氏温度。#includeiostream#includeiomanip#includecmathusingnamespacestd;intmain(){floatF,C;cout华氏温度:;cinF;C=5.0/9*(F-32);cout华氏F度=摄氏setprecision(1)C度endl;return0;}3、用非递归的函数调用形式求Fibonacci数列第n项。Fibonacci数列第n项计算式为:1,()1,(1)(2),FnFnFn122nnn#includeiostreamusingnamespacestd;intfibonacci(intn){inta=1,b=1,temp;if(n==1||n==2)return1;for(inti=3;i=n;i++){temp=a+b;a=b;b=temp;}returnb;}voidmain(){intn;cout请输入一个正整数:\n;cinn;intf=fibonacci(n);coutFibonacci数列第n项是:fendl;}4、编写一个猜数字游戏的程序,程序随机选择一个1到1000的数,然后与用户交互:Ihaveanumberbetween1and1000.Canyouguessmynumber?Pleasetypeyourfirstguess.然后用户输入第一个结果。程序响应如下:1.Excellent!Youguessedthenumber!Wouldyouliketoplayagain(yorn)?2.Toolow.Tryagain.3.Toohigh.Tryagain.如果用户猜错,则程序进行循环,直到猜对。程序通过Toohigh或Toolow消息帮助用户接近正确答案。#includeiostream#includecstdlib#includectime{usingnamespacestd;voidguessGame(void);boolisCorrect(int,int);intmain(){srand((unsignedint)time(0));guessGame();return0;}voidguessGame(void){intanswer,guess;charresponse;do{answer=1+rand()%1000;coutIhaveanumberbetween1and1000.\nCanyouguessmynumber?\nPleasetypeyourfirstguess.\n;cinguess;cout\nExcellent!Youguessedthenumber!\nWouldyouliketoplayagain(yorn)?;cinresponse;}while(response=='y');}boolisCorrect(intg,inta){if(g==a)returntrue;if(ga)coutToolow.Tryagain.\n?;elsecoutToohigh.Tryagain.\n?;returnfalse;}5、设有一个含有10个整数的数组(34,91,83,56,29,93,56,12,88,72),实现下列函数。(1)找出数组中最小数及其下标,并在主函数中显示最小数和下标。(2)找出数组中最小数、次小数及它们的下标,并在主函数中显示这些数据。#includeiostreamusingnamespacestd;voidfindmink2(inta[],intn,int&mink,int&mink2);voidmain(){intmink,mink2;constintN=10;inta[N]={34,91,83,56,29,93,56,12,88,72};findmink2(a,N,mink,mink2);cout最小值及其下标a[mink],minkendl;cout次小值及其下标a[mink2],mink2endl;}voidfindmink2(inta[],intn,int&mink,int&mink2){intk;mink=0;mink2=1;if(a[mink2]a[mink]){mink=1;mink2=0;}for(k=2;k=9;k++){if(a[k]a[mink]){mink2=mink;mink=k;}else{if(a[k]a[mink2])mink2=k;}}}6、用递归的方法编写函数求Fibonacci数列第n项,并观察递归调用的过程。#includeiostreamusingnamespacestd;intfibonacci(intn){inta=0,b=1,temp;if(n==0)return0;elseif(n==1){return1;}for(inti=2;i=n;i++){temp=a+b;a=b;b=temp;}returnb;}voidmain(){intn,m=1;cout请输入一个正整数:;cinn;intf=fibonacci(n);coutFibonacci数列第n项是:fendl;}
本文标题:北邮c++第五章实验
链接地址:https://www.777doc.com/doc-2582635 .html