《西安交大C++程序设计第二章作业》由会员分享,可在线阅读,更多相关《西安交大C++程序设计第二章作业(13页珍藏版)》请在金锄头文库上搜索。
1、西安交通大学实验报告课程 计算机程序设计_实验名称 基本数据类型的熟悉_第 1页 共12页系 别_ _ 实 验 日 期 2014 年 3月 4日专业班级_ _组别_ 实 验 报 告 日 期 2014年3月 8 日姓 名_ _学号 _ 报 告 退 发 ( 订正 、 重做 )同 组 人_ 教 师 审 批 签 字 一. 实验目的1. 通过实验熟悉整数类型变量、字符变量、双精度类型变量等基本数据类型的使用;2. 学会小数的取整(通过强制类型转换的方法)、整数的求余、表达式中算术运算符的使用;3. 条件语句(if else)、循环语句(while)的使用。二. 实验内容(一) 第一题:编写一个程序,要求
2、完成以下要求:1)提示用户输入任意的三个小数;2)显示这三个小数;3)将这三个小数相加并显示结果;4)将结果四舍五入转换成整数并显示。1.要点分析:第一步:输入三个小数;第二步:显示所输入的小数;第三步:求和并显示;第四步:对所求得的和取整(强制类型转换,将双精度类型变量转换为整数变量),再用和减去该数从而得到和的小数部分;精选文档第五步:通过判断小数部分的大小(是=0.5还是0.5)决定是“四舍”还是“五入”,根据不同的情况输出“四舍五入”所得的结果(小于0.5则直接输出取整所得;大于等于0.5则取整后加1);第六步:选择是否再次开始,若是,循环前五步;否则,结束程序。2.源程序代码:#in
3、cludeusing namespace std;int main()double a,b,c,sum,left;/定义双精度类型变量;int SUM;/定义整数变量;coutabc;cout您输入的三个小数是: a b cendl;/显示输入的量;sum=a+b+c;/求和;cout这三个小数的和是:sum=0.5)/判断小数部分大小,并据此实现四舍五入;cout四舍五入得:SUM+1endl;elsecout四舍五入得:SUMendl;int ch;/定义整数变量;cout如需继续输入,请按键;如要结束,请按键!ch;/输入表示选择的数字;while(ch=1)/循环上述运算;coutab
4、c;cout您输入的三个小数是: a b cendl;sum=a+b+c;cout这三个小数的和是:sum=0.5)cout四舍五入得:SUM+1endl;精选文档elsecout四舍五入得:SUMendl;cout如需继续输入,请按键;如要结束,请按键!ch;cout运行完毕,谢谢!endl;return 0;3.实验结果:(二) 第二题:输入两个角度值x、y,计算如下式子的值(中的三角函数的输入是弧度):sincos()精选文档1. 要点分析:第一步:输入两个角度值;第二步:判断所输入的值下式子是否有意义(即x与y之和是不是90+n*360),若无,提示重新输入直至正确;若有意义,进行下一
5、步;第三步:将所输入的角度制下的值转化为弧度制下的值(需要用到pi,只能预先输入较为精确的pi值);第四步:计算并输出结果。2.源程序代码:#include#include/包含标准数学函数的math.h函数库;using namespace std;int main()double x,y,sum,SUM,result,m,pi=3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679;/定义双精度变量,给出常量pi的初始值;coutxy;/输入
6、变量;m=(abs(x+y)+90)/360;int M;/定义整数变量M;M=(int)m;/对m取整得到M;while(m-M=0.5|m=M)/比较M=m之间的关系,使得式子无意义时循环;coutxy;m=(abs(x+y)+90)/360;M=(int)m;x=(pi*x)/180.0;/将x转化为弧度;y=(pi*y)/180.0;/将y转化为弧度;sum=abs(x+y);/x与y和的绝对值;SUM=abs(x)+abs(y);/求x、y绝对值之和;result=(sin(SUM)/(sqrt(cos(sum);/计算所求式子的值;cout计算结果是:result=a”而“=z”)
7、,如不是,提示重新输入;如是,进行下一步;第三步:将输入的字母往后推移5位(z完了之后需要再次从a数起)并输出结果。2.源程序代码:using namespace std;int main()char ch1,ch2,ch3;/定义三个字符变量;coutch1ch2ch3;while(ch1z|ch1z|ch2z|ch3a)/判断若所输入的任意一个字符量不是小写字母,重新输入;cout您输入的不全是小写字母,请重新输入:ch1ch2ch3;/cout您输入的小写字母是:ch1 ch2 ch3u)/判断输入的各个字母是否是后个,若是则从a继续数直至五个以后;精选文档ch1=ch1-21;else
8、ch1=ch1+5;if(ch2u)ch2=ch2-21;elsech2=ch2+5;if(ch3u)ch3=ch3-21;elsech3=ch3+5;cout密文是:ch1ch2ch3endl;/输出密文;return 0;3.实验结果:(四)第四题:输入一个4位十进制数,求其每位数字的立方之和。例如:输入2456,则输出23+43+53+63=8+64+125+216=413。注意只要精选文档求输出红色算式结果。1.要点分析:第一步:输入数值;第二步:判断输入的是不是四位数,若不是,提示重新输入;若是,进行下一步;第三步:分别分离出该四位数的个位、十位、百位、千位数字(通过对该四位数除以1
9、0、100、10000取余等方法);第四步:计算各位数字的立方和并输出。2.源程序代码:#includeusing namespace std;int main()int A,a,b,c,d,sum;/定义整数变量;coutA;while(A=10000|A1000)/判断输入的值是不是四位数,若不是则重新输入;coutA;cout您输入的是:Aendl;/显示所输入的四位数;a=A%10;/分离出个位数;b=(A%100-A%10)/10;c=(A%1000-A%100)/100;d=A/1000;/分离出千位数;sum=a*a*a+b*b*b+c*c*c+d*d*d;/计算各位数立方和;c
10、out计算结果是:d*d*d+c*c*c+b*b*b+a*a*a=sumendl;/输出计算结果;return 0;3.实验结果:精选文档(五)第五题:编写程序计算下列二元一次方程组的根: AX + BY = C DX + EY = F 通过键盘输入6个系数,然后计算求解,最后输出方程的根。1. 要点分析:第一步:输入方程组的各个系数;第二步:判断方程是否无解或有无数解(满足a*e-b*d=0),若是,提示重新输入;若不是,进行下一步;第三步:计算x、y的值,并输出。2.源程序代码:#includeusing namespace std;int main()double a,b,c,d,e,f;/定义双精度变量;double x,y;double m;cout您要输入的二元一次方程组的形式如下:endla*x+b*y=c;d*x+e*y=f;endl;/提示输入系数的顺序;cout请按照上述提示按照endla b c d e fendlabcdef;/输入系数;m=a*e-b*d;/比较系数;while(m=0)/判断方程是否有解,若无则重新输入;cout您输入的方程无解或有无数解!endlabcdef;m=a*e-b*d;精选文档