《中南大学C++程序设计实践思考题答案》由会员分享,可在线阅读,更多相关《中南大学C++程序设计实践思考题答案(23页珍藏版)》请在金锄头文库上搜索。
1、23实验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); cout直角三角形的斜边=
2、cendl; return 0;2从键盘输入一个字符,如果输入的是英文大写字母,则将它转换成小写字母后输出,否则输出原来输入的字符。#includeusing namespace std;int main() char c; coutc; 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; else cou
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; else y=sin(x)+sqrt(pow(x,2)+1)+3*x; couty=yendl; return 0;5. 从键盘上输入17之间的一个数字,输出其对应星期几的英文表示。#include using namespace std;int main() char c; coutc; switch(c) case 1:coutMonday;b
4、reak; case 2: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() coutleftOpera
5、ndOperatorrightOperand; int result; switch(Operator) case +: result=leftOperand+rightOperand;break; case -: result=leftOperand-rightOperand;break; case *: result=leftOperand*rightOperand;break; case /: if(rightOperand!=0) result=leftOperand/rightOperand; else cout除数为0,除法不能进行endl;return 0; break; def
6、ault: coutOperator是本程序不支持的操作。endl; return 0; coutleftOperandOperatorrightOperand=resultendl; return 0; 实验3三、思考题参考程序1编程计算表达式的值。#include using namespace std;int main() int n,k=1,sum=0,mean; coutn; while(k0) mean=sum/n; else mean=0; cout1n个整数平方和的均值=meanendl; return 0;2输入两个正整数,判别它们是否互为互质数。所谓互质数,就是最大公约数是
7、1。#include using namespace std;int 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;else cout”不是互质数”endl; return 0;3编写程序,输出从公元2000年至3000年间所有闰年的年号。#include using namespace std;int main() int year; cout公元2000年至3000年间闰年的年号:n; for(year=2000;year=3000;
8、year+) if(year%4=0 & year%100 !=0)|(year%400=0) coutyeart; coutendl; return 0;4编写程序模拟猴子吃桃子问题:猴子第1天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天将剩下的桃子又吃了一半,又多吃一个。以后每天都吃了前一天剩下的一半零1个。到了第10天,只剩下了一个桃子。请问猴子第一天共摘了多少个桃子?方法1:#include using namespace std;int main() int day,qian,hou=1; for(day=9;day=1;day-) qian=(hou+1)*2; ho
9、u=qian; coutqianendl; return 0;运行结果:1534方法2:#include using 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; if(day
10、=10) number=1; else number=2*(peach(day+1)+1); return number;5计算s=1+(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; total+=sum; couts=totalendl; return 0;6马克思曾经做过