ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:20.48KB ,
资源ID:7794236      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7794236.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++程序设计实践教程思考题答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++程序设计实践教程思考题答案.docx

1、C+程序设计实践教程思考题答案实验1 C+基础6编写程序,输入某大写字母的ASCII码值,输出该字母的对应小写字母。#includeusing namespace std;int main()int i;cini;if(i=65 & 1=90 )coutchar(i-A+a)endl;elsecout输入有误endl; return 0;实验2三、实验思考1.输入直角三角形的两条直角边长,调用平方根库函数sqrt来求斜边的长度#include#includeusing namespace std;int main() float a,b,c;coutab;c=sqrt(a*a+b*b);cou

2、t直角三角形的斜边=cendl;return 0;2从键盘输入一个字符,如果输入的是英文大写字母,则将它转换成小写字母后输出,否则输出原来输入的字符。#includeusing namespace std;int main()char c;1coutc;if(c=A& c=Z)c+=a-A;coutcendl;return 0;3输入一个学生的成绩,如高于60分,则输出“pass”;否则,输出“failed”。 #includeusing namespace std;int main()float grade;coutgrade;if(grade=60)coutpassendl;elsecou

3、tfailed;return 0;4. 计算分段函数#include #include using namespace std;int main()double x,y;coutx;if(!x)y=cos(x)-pow(x,2)+3*x;elsey=sin(x)+sqrt(pow(x,2)+1)+3*x;couty=yendl;return 0;25. 从键盘上输入17之间的一个数字,输出其对应星期几的英文表示。 #include using namespace std;int main()char c;coutc;switch(c)case 1:coutMonday;break;case 2

4、:coutTuesdag;break;case 3:coutWenesday;break;case 4:coutThursday;break;case 5:coutFriday;break;case 6:coutSaturday;break;case 7:coutSunday;break;default: cout wrong number;coutendl;return 0;6. 设计一个简单的计算器程序,能够进行加、减、乘、除简单运算并显示结果。 #include using namespace std;int main()coutleftOperandOperatorrightOpera

5、nd;int result;switch(Operator)case +:result=leftOperand+rightOperand;break;case -:result=leftOperand-rightOperand;break;case *:3result=leftOperand*rightOperand;break;case /:if(rightOperand!=0)result=leftOperand/rightOperand;elsecout除数为0,除法不能进行endl;return 0;break;default:coutOperator是本程序不支持的操作。endl;

6、return 0;coutleftOperandOperatorrightOperand=resultendl; return 0;实验3三、思考题参考程序1n2?kn1编程计算表达式k?1的值。#include using namespace std;int main()int n,k=1,sum=0,mean;coutn;while(k0)mean=sum/n;elsemean=0;cout1n个整数平方和的均值=meanendl;return 0;42输入两个正整数,判别它们是否互为互质数。所谓互质数,就是最大公约数是1。 #include using namespace std;int

7、 main()int m,n,r;coutmn;coutm”和”n;if(mn) r=m;m=n;n=r;while(r=m%n)m=n;n=r;if(n=1)cout是互质数 endl;elsecout”不是互质数”endl;return 0;3编写程序,输出从公元2000年至3000年间所有闰年的年号。#include using namespace std;int main()int year;cout公元2000年至3000年间闰年的年号:n;for(year=2000;year=3000;year+)if(year%4=0 & year%100 !=0)|(year%400=0)co

8、utyeart;coutendl;return 0;4编写程序模拟猴子吃桃子问题:猴子第1天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天将剩下的桃子又吃了一半,又多吃一个。以后每天都吃了前一天剩下的5一半零1个。到了第10天,只剩下了一个桃子。请问猴子第一天共摘了多少个桃子?方法1:#include using namespace std;int main()int day,qian,hou=1;for(day=9;day=1;day-)qian=(hou+1)*2;hou=qian;coutqianendl;return 0;运行结果:1534方法2:#include usin

9、g namespace std;int main()int day,number=1;for(day=9;day=1;day-)number=(number+1)*2;coutnumberendl;return 0;方法3:#include using namespace std;int peach(int);int main()cout第1天共摘了peach(1)个endl;return 0;int peach(int day)int number;6if(day=10)number=1;elsenumber=2*(peach(day+1)+1);return number;5计算s=1+(

10、1+2)+(1+2+3)+(1+2+3+4)+ +(1+2+3+ +n)的值。 方法1:#include using namespace std;int main()int i,j,n;long int sum,total(0);coutn;for(i=1;i=n;i+)sum=0;for(j=1;j=i;j+)sum+=j;total+=sum;couts=totalendl;return 0;#include using namespace std;int main()int i,n;long int sum(0),total(0);coutn;for(i=1;i=n;i+)sum+=i;

11、total+=sum;7couts=totalendl;return 0;6马克思曾经做过这样一道趣味数学题:有30个人在一家小饭馆用餐,其中有男人、女人和小孩。每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,一共花了50先令。请问男人、女人以及小孩各有几个人?#include using namespace std;int main()int x,y,z;for(x=1;x=16;x+)for(y=1;y=24;y+)z=30-x-y;if(3*x+2*y+z=50)coutMen are x,women are y ,children are z.endl; return 0;

12、实验4 常用程序设计算法三、实验思考1读入一个整数N,若N为非负数,则计算N到2N之间的整数和;若N为负数,则求2N到N之间的整数和。分别利用for和while写出两个程序。#includeusing namespace std;int main()int N;cinN;int i=N;long sum=0;if(N=0)for(;i=2*N;i-) sum+=i; coutsumendl; return 0;#include using namespace std;int main()int N;cinN;int i=N;long sum=0; if(N=0) while(i=2*N) su

13、m+=i; i-; coutsumendl; return 0;92设s?1?111?,求与8最接近的s的值及与之对应的n值。 23n#includeusing namespace std;int main()float s=1.0;int n=1;do+n;s+=1.0/n;while(s(8-(s-1.0/n)couts=s-1.0/n n=n-1endl;elsecouts=s n=nBC,且A+B+C100,求满足1?1?1的共有多少组。A2B2C2#include using namespace std;int main()int A,B,C;int count=0;for(C=0;

14、C!=33;+C )for(B=100; BC;-B )for(A=100; AB; -A)if(A + B + C 100) & (A * A * B * B) = (A * A + B * B) * C * C) cout A B C endl;+ count;cout count is: count endl;10return 0;4一司机出车祸后驾车逃离现场,第一位目击者记得车牌号前两位数字相同,且后两位数字也相同;第二位目击者是一位数学家,他看出车牌号是四位完全平方数。试推算肇事车的车牌号。#includeusing namespace std;int main()int n,i;f

15、or(i=32;i100;i+)n=i*i;if(n%10 = n%100/10 & n/1000 = n/100%10)coutnendl;return 0;115编程验证“四方定理”:所有自然数至多只要用4个数的平方和就可以表示。 #includeusing namespace std;int main()int number,i,j,k,l;coutnumber;for(i=1;inumber/2;i+)for(j=0;j=i;j+)for(k=0;k=j;k+)for(l=0;l=k;l+)if(number=i*i+j*j+k*k+l*l)coutnumber=i*i+j*j+k*k

16、+l*lendl;exit(0);return 0;6编程验证“角谷猜想”:任给一个自然数,若为偶数则除以2,若为奇数则乘3加1,得到一个新的自然数,然后按同样的方法继续运算,若干次运算后得到的结果必然为1。#includeusing namespace std;int main()int n,flag;flag=1;coutplease input n:n;while(flag)if(n%2=0)n=n/2;elsen=n*3+1;12 if(n=1) flag=0; coutsuccess!endl; return 0;实验5 函数和编译预处理三、实验思考1. 参考程序如下:#includ

17、e using namespace std;long int Fibonacci(int n);void main()int i;long int t,t1;coutplease input t:t;for (i=2;i+)t1=Fibonacci(i);if (t1t) coutmin Fibonacci=t1endl;break; long int Fibonacci(int n)if (n=0) return 1;else if (n=1) return 1;else return Fibonacci(n-1)+Fibonacci(n-2);2. 参考程序如下:#include usin

18、g namespace std;int num_n(int n,int a) /由n个a组成的多位数的计算 if (n=1) return a;13else return num_n(n-1,a)*10+a;void main()int i,n;long int sum=0;coutplease input n:n;for (i=1;i=n;i+)coutnum_n(i,2)endl;sum+=num_n(i,2);coutn=n:sum=sumendl; 3. 参考程序如下:#include using namespace std;int isprime(int n) /判断n是否为素数的函

19、数 int i;for (i=2;in-1;i+)if (n%i=0) return 0;/非素数,函数值返回0 return 1;/素数,函数值返回1void main()int i,min_prime,max_prime;for (i=1000;i=2000;i+)if(isprime(i)=1)cout最小素数=i=1000;i-)if(isprime(i)=1)cout最大素数=iendl; break; 4. 参考程序如下:#include using namespace std;int sum(int n)14static s=0;s=s+n;return s;void main(

20、)int i, n,s;coutn;for (i=1;i=n;i+)s=sum(i);cout1n之和=sendl;5. 参考程序如下:#include using namespace std;int is_h(int n) /判断参数n是否为回文int i,m,fn;/i用来记录n的某一位数字,m初值为n,fn用于记录n的倒序数 m=n;fn=0;while(m!=0)i=(m%10);fn=(fn*10+i);m=m/10;if(fn=n) return 1; /是回文数返回1else return 0; /不是回文数返回0void main()int i;int t; cint;for

21、(i=1;i=t;i+)if (is_h(i)=1)cout回文数:iendl;156. 参考程序如下:#include using namespace std;#define X (a+b)/2#define AREA X*hvoid main()float a,b,h,s;cout请分别输入a,b,h的值,用空格分隔!abh;s=AREA;coutAREAendl;实验六 数组三、实验思考题参考源代码思考题1. shi_6_3_1.cpp#include #define N 5int lookup(int ,int ,int ); /函数说明void main() int i, aN,in

22、dex,yLooked;cout请输入N(=5)个整数:endl;for(i=0;iai;cout请输入您要找的整数:yLooked;index=lookup(a,N,yLooked); /函数调用 if(index!=-1)cout您要找的数下标为:indexendl; elsecout没有找到yLookedendl;coutn谢谢使用本程序,再见!endl; cin.get();16cin.get();int lookup(int x,int n,int y) /函数定义int flag=-1; /首先假设找不到int i;for(i=0;in;i+)if(xi=y)flag=i;brea

23、k; /找到了则不必再往后找return flag;- 思考题2. shi_6_3_2.cpp#include #define N 5int max(int ,int ); /函数说明void main() int i, aN,xMax;cout请输入N(=5)个整数:endl;for(i=0;iai;xMax=max(a,N);cout数组中最大的的整数:xMaxendl;coutn谢谢使用本程序,再见!endl;cin.get();cin.get();int max(int x,int n)int i,r=x0; /首先假设 x0 最大, 且存于 r 中for(i=1;in;i+) / 也可写成 for(i=0;ir) r=xi; / 发现了更大 的则 修改 rreturn r; / r 中 存有最大 元素的值-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1