C++程序设计实验指导书.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C++程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《C++程序设计实验指导书.docx(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+ 程序设计试验指导书答案(文档可以直接使用,也可依据实际需要修改使用,可编辑 欢送下载C+操作题答案试验一(1) 设计一个C+程序,输出以下信息:*Hello!*(2) 设计一个C+程序,输入三个职工的工资,求工资总额。试验数据:1500,2023,2500(3) 设计一个程序,从键盘输入一个矩形的长与宽,求其周长和面积。试验数据:50,40(4) 设计一个程序,输入一个华氏温度值,要求输出其对应的摄氏温度值。温度转换公式为:c=(f-32)*5/9。试验数据:33(5) 从键盘输入一个四位整数 n=abcd,从左到右用 a、b、c、d 表示各位的数字,现要求依次输出从右到左的各位数字,即
2、输出另一个三位数m=dcba,试设计程序。试验数据:12344解答参考(1) 建工程为myproject1,建 c+源程序,文件名为myfile1.cpp,输入以下内容: # include void maincout“ *“”n”; cout“Hello!“”n”; cout“ *“”n”;运行结果:* Hello!*(2) 算法分析提示:存放每个职工的工资变量应当是一个实型数,故工资总额变量也应当是实型数。程序如下。# include void mainint sa1,sa2,sa3,sum;coutsa1sa2sa3; sum=sa1+sa2+sa3;cout“n 工资总额是:“sum”
3、n”;运行结果:请输入三个职工的工资:1500 2023 2500 工资总额是:6000(3) 程序如下:# include void main float a,b ,L,S;cout“请输入一个矩形的长与宽:“ab;L=(a+b)*2;S=a*b;cout“矩形的长与宽: “ a和bendl;cout“矩形的周长: “ Lendl; cout“矩形的面积: “ Sendl;运行结果:请输入一个矩形的长与宽: 8 12矩形的长与宽:8 和 12 矩形的周长: 40矩形的面积: 96(4) 程序如下:# include void mainfloat c,f;coutf;c=(f-32)*5/9;
4、cout“摄氏温度是: “c”n”;运行结果:请输入华氏温度:95 摄氏温度是: 35.0(5) 算法分析提示:一个四位数如 1234,它的千位数 a 是 1,求解的方法是 1234/1000,由于两个整数相除结果是取整了,所以可求出千位,而它的个位 d 是 4,求解的方法是 1234%10,余数恰好是结果,至于百位数 b 和十位数c 承受的方法是多样的,见程序。输出值为 d*1000+c*100+b*10+a程序如下:# include # include void mainint a,b,c,d,n,m;coutn;a=n/1000; b=n%1000/100; c=n%100/10; d
5、=n%10;m=d*1000+c*100+b*10+a;cout“m=“m”n”;运行结果:请输入四位十进制整数: 1234 m=4321试验二1(1) 演示单步执行程序的方法;(2) 设计一个程序,推断从键盘输入的整数的正负性和奇偶性。试验数据:-3 与 5(3) 有以下函数:x+3.5(x5)y=203.5(x+3)2(5x10)2x 3.5+sin(x)(x10)设计一个程序,从键盘输入x 的值,输出y 的值。试验数据:6 与 11(4) 奖金税率如下:a 代表奖金,r 代表税率a100(元)r=0%100a200200a400400a0,连续推断假设x%2=0,这时说明该数是一个正偶数
6、,否则是一个正奇数。否则说明是一个负数,再连续推断假设x%2=0,说明该数是一个负偶数,否则是一个负奇数。# include void maininti;couti;if (i0)if(i%2=0)couti“ is positive even number“endl; elsecouti“ is positive odd number“endl;elseif(i%2=0)couti“ is negative even number“endl; elsecouti“ is negative odd number“endl;运行结果:请输入一个整数:-6-6 is negative even n
7、umber开头完毕(3) 流程图如图 3.1 所示。程序如下: #include #include void mainfloat x,y;coutx;真if (x=5)x5if (x=10)y=x/2-3.5+sin(x);y=-x+3.5假x10真else假y=20-3.5*(x+3)*(x+3);y=20-3.5 (x+3)2y=x/2-3.5+sin(x)elsey=-x+3.5;cout“y=“y=800 则 r=10。 否则 b=a/100。 依据b 的值,得到r。 输出时输出税率r,应交税款 a*r/100,实得奖金额a*(1-float(r)/100)。# include voi
8、d mainint a,b,r;couta;if (a=800)r=10;elseb=a/100; switch (b)case 0:r=0;break; case 1:r=2;break;case 2:case 3:r=4;break;case 4:case 5:case 6:case 7:r=8;break;default :cout“Input error!“;cout“Tax rate:“r“%“endl; cout“Tax :“a*r/100endl; cout“Prise:“a*(1-float(r)/100)endl;运行结果:please Input prize :400 Ta
9、x rate: 8%Tax: 32Prise: 368 运行结果:please Input prize :900 Tax rate: 10%Tax: 90Prise: 810试验三3. 试验内容(1) 输入一行字符,分别统计出其中英文字母、空格、数字字符和其它字符的个数。 提示:用 cin.get(c)函数从键盘上输入一个字符给变量c,直到输入回车换行字符”n”为止。(2) 设有一个数列,它的前四项为0、0、2、5,以后每项分别是其前四项之和,编程求此数列的前 20 项。(3) 求近似值的公式为:p= 2 2 4 4 L2 n2 nL213352 n - 12 n + 1其中,n=1、2、3设
10、计一个程序,求出当n=1000 时的的近似值。(4) 求出 1599 中能被 3 整除,且至少有一位数字为5 的全部整数。如15、51、513均是满足条件的整数。提示:将 1599 中三位整数i 分解成个位、十位、百位,分别存放在变量a、b、c 中。然后推断a、b、c 中是否有 5。将三位整数i (设 i=513)分解成个位、十位、百位的方法是:c=i%10;/c= i%10=513%10=3a=i/10;/a= i/10=51 b=a%10;/b=a%10=51%10=1a=a/10;/a=a%10=51/10=5 4解答参考(1) # include void main(void)char
11、c;int i,letter=0,number=0,blank=0,other=0; cout“请输入字符串:“;cin.get(c);/get(c)函数用于从键盘上提取一个字符while(c!=”n”)if (”a”=c & c=”z” | ”A”=c & c=”Z”) letter+; else if (”0”=c &c=”9”)number+;else if (c=” ”)blank+; else other+;cin.get(c);cout“letter=“letterendl; cout“number=“numberendl; cout“blank=“blankendl; cout“
12、other=“otherendl;运行结果:请输入字符串:I am Student 1234letter=10 number=4 blank=3 other=0(2) 数列前四项值存放在变量 f1=0、f2=0、f3=2、f4=5 中第 5 项的值用f1 表示,则f1= f1+f2+f3+f4;第 6 项的值用f2 表示,则f2= f2+f3+f4+f1; 第 7 项的值用f3 表示,则f3= f3+f4+f1+f2; 第 8 项的值用f4 表示,则f4= f4+f1+f2+f3; 共进展 5 次,即可求出此数列的前 20 项。# include void main(void) long f1
13、,f2,f3,f4,i;f1=0; f2=0; f3=2; f4=5;for (i=1;i=5;i+)coutf1”t”f2”t”f3”t”f4”t”endl;f1=f1+f2+f3+f4; f2=f2+f3+f4+f1; f3=f3+f4+f1+f2; f4=f4+f1+f2+f3;运行结果:0025714285410319938474014262749529910214196883795073151141003(3) # include void main(void)long m,n; double pi=1;coutm; for(n=1;n=m;n+)pi=pi*(2.0*n/(2.0*
14、n-1)*2.0*n/(2.0*n+1);cout“pi=“2*piendl;运行结果:Please Input m:1000pi=3.14081运行结果:Please Input m:10000pi=3.14151(4) # include void mainint i,a,b,c,j=1;for (i=1;i=599;i+) if (i%3=0)a=i/100; b=i%100/10; c=i%100%10;if (a=5) | (b=5) | (c=5)couti”t”;if (j%5=0) coutendl; j+;coutendl;试验四(1) 某班第 1 组有 10 个学生,进展了
15、C+考试,编写程序将考试成绩输入一维数组, 并求出 C+的平均成绩及优90100、良8089、中7079、及格6069与不及格059学生的人数。试验数据:90、85、80、75、70、65、60、55、50、45(2) 某班第 1 组有 10 个学生,进展了C+考试,编写程序将考试成绩输入一维数组, 并将C+成绩用冒泡法、选择法两种排序算法,由低到高的挨次排序后输出。试验数据:90、85、80、75、70、65、60、55、50、45(3) 输入一个 5 行 5 列的二维数组,编程实现: 求出其中的最大值和最小值及其对应的行列位置; 求出对角线上各元素之和。123452345634567456
16、7856789试验数据:(4) 设A、B、C 为 m 行 n 列矩阵。设计矩阵加法程序,能完成C=A+B 的操作。并输出 C 的元素值。m 与 n 用define 定义为常量,取值 3、3。A、B 矩阵的元素值如下:123A=456789321B=6549874. 解答参考1#include #include #define N 10void main(void) float sum=0.0;int i,b=0,0,0,0,0,aN;cout“Input 10 score:n“; for (i=0;iai;for (i=0;i=N-1;i+)sum=sum+ai; switch (ai/10)
17、 case 10:case 9: b0+;break;case 8: b1+;break;case 7: b2+;break;case 6: b3+;break; default: b4+;cout“优:“b0”n”;cout“良:“b1”n”;cout“中:“b2”n”;cout“及格:“b3”n”;cout“不及格: “b4”n”; cout“平均分: “sum/N; coutaj+1假aj与 aj+1交换fori=0toN-1输出 ai#include #include #define N 10void main(void) float aN,temp; int i,j;cout“Inp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 实验 指导书
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内