西安交大C++程序的设计第二章作业[整理]

上传人:粗**** 文档编号:140299030 上传时间:2020-07-28 格式:PDF 页数:11 大小:497.22KB
返回 下载 相关 举报
西安交大C++程序的设计第二章作业[整理]_第1页
第1页 / 共11页
西安交大C++程序的设计第二章作业[整理]_第2页
第2页 / 共11页
西安交大C++程序的设计第二章作业[整理]_第3页
第3页 / 共11页
西安交大C++程序的设计第二章作业[整理]_第4页
第4页 / 共11页
西安交大C++程序的设计第二章作业[整理]_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《西安交大C++程序的设计第二章作业[整理]》由会员分享,可在线阅读,更多相关《西安交大C++程序的设计第二章作业[整理](11页珍藏版)》请在金锄头文库上搜索。

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) ; 第六步:选

3、择是否再次开始,若是,循环前五步;否则,结束程序。 2. 源程序代码: #include usingnamespace 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; else cout 四舍五入得: SUMendl; int ch; / 定义整数变量

4、; cout 如需继续输入,请按键;如要结束,请按键!ch; / 输入表示选择的数字; while (ch=1) / 循环上述运算; coutabc; cout 您输入的三个小数是: a b cendl; sum=a+b+c; cout 这三个小数的和是:sum=0.5) cout 四舍五入得: SUM+1endl; else cout 四舍五入得: SUMendl; cout 如需继续输入,请按键;如要结束,请按键!ch; cout 运行完毕,! endl; return 0; 3. 实验结果: (二) 第二题:输入两个角度值 x、y,计算如下式子的值(中 的三角函数的输入是弧度): 1.

5、要点分析: 第一步:输入两个角度值; 第二步:判断所输入的值下式子是否有意义( 即x与y之和是不是 90+n*360), 若无,提示重新输入直至正确;若有意义,进行下一步; 第三步:将所输入的角度制下的值转化为弧度制下的值( 需要用到 pi ,只能预 先输入较为精确的 pi 值) ; 第四步:计算并输出结果。 2. 源程序代码: #include #include / 包含标准数学函数的math.h函数库; usingnamespace std; int main() double x,y,sum,SUM,result,m,pi=3.0679;/ 定义双精度变量,给出常量pi 的初始值; co

6、utxy; / 输入变量; 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(c

7、os(sum);/ 计算所求式子的值; cout 计算结果是: result=a”而“ =z”),如 不是,提示重新输入;如是,进行下一步; 第三步:将输入的字母往后推移 5位(z完了之后需要再次从 a数起)并输出结果。 2. 源程序代码: usingnamespace std; int main() char ch1,ch2,ch3;/ 定义三个字符变量; coutch1ch2ch3; while (ch1 z |ch1 z|ch2 z|ch3 a ) / 判断若所输入的任意一个字符 量不是小写字母,重新输入; cout 您输入的不全是小写字母, 请重新输入: ch1ch2ch3; / co

8、ut 您输入的小写字母是:ch1 ch2 ch3u)/ 判断输入的各个字母是否是后个,若是则从a继续数直至五个以后; ch1=ch1-21; else ch1=ch1+5; if (ch2u) ch2=ch2-21; else ch2=ch2+5; if (ch3 u ) ch3=ch3-21; else ch3=ch3+5; cout 密文是: ch1ch2ch3endl; / 输出密文; return 0; 3. 实验结果: (四)第四题:输入一个4位十进制数,求其每位数字的立方之和。 例如:输入 2456,则输出23+43+53+63= 8+64+125+216=413 。注意只要 求输

9、出红色算式结果。 1. 要点分析: 第一步:输入数值; 第二步:判断输入的是不是四位数, 若不是,提示重新输入; 若是,进行下一步; 第三步:分别分离出该四位数的个位、十位、百位、千位数字(通过对该四位数 除以10、100、10000取余等方法); 第四步:计算各位数字的立方和并输出。 2. 源程序代码: #include usingnamespace std; int main() int A,a,b,c,d,sum;/ 定义整数变量; coutA; while (A=10000|A1000) / 判断输入的值是不是四位数,若不是则重新输入; coutA; cout 您输入的是: Aendl

10、; / 显示所输入的四位数; 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;/ 计算各位数立方和; cout 计算结果是: d*d*d + c*c*c + b*b*b+a*a*a=sumendl; / 输出计 算结果; return 0; 3. 实验结果: (五)第五题:编写程序计算下列二元一次方程组的根: AX + BY = C DX + EY = F 通过键盘输入 6个系数,然后计算求解,最后输出方程的根。 1. 要点分析:

11、 第一步:输入方程组的各个系数; 第二步:判断方程是否无解或有无数解(满足a*e-b*d=0 ),若是,提示重新 输入;若不是,进行下一步; 第三步:计算 x、y的值,并输出。 2. 源程序代码: #include usingnamespace std; int main() double a,b,c,d,e,f;/ 定义双精度变量; double x,y; double m; cout 您要输入的二元一次方程组的形式如下:endl a*x+b*y=c;d*x+e*y=f;endl; / 提示 输入系数的顺序; cout 请按照上述提示按照endl a b c d e fendlabcdef;

12、 / 输入系数; m=a*e-b*d; / 比较系数; while (m=0)/ 判断方程是否有解,若无则重新输入; cout 您输入的方程无解或有无数解! endlabcdef; m=a*e-b*d; x=(c*e-b*f)/m;/ 计算 x的值; y=(a*f-c*d)/m;/ 计算 y的值; cout 计算结果是: x= x; y= yendl; / 输出计算结果; return 0; 3. 实验结果: (六)第六题 : 仿照本章课件例题,分别用字符变量、短整型变量和整 型变量求 N!,通过运行测试,分别告知最大的N为多少? 1. 要点分析: 第一步:输入 n的值,以确定一个执行围; 第

13、二步: i=1,result=1; 第三步:判断 i=n 是否成立,若否,结束程序;若是,执行下一步; 第四步:计算result*i的值并将其赋给 result ,然后将 i 增加1,返回第三步再次 判断。 2. 源程序代码: (1)字符型: #include/ 以字符变量的数据类型输入; usingnamespace std; int main() int n,i=1;/ 定义整数变量; unsignedchar result=1;/ 定义无符号字符变量; coutn; while (i=n)/ 在不超出 n的围循环输出结果; result=result*i; couti != result

14、+0endl;/ 输出结果; i=i+1; return 0; (2)整型: #include/ 以整型的数据类型输入; usingnamespace std; int main() int n,i=1; unsigned result=1;/ 定义整型数值变量; coutn; while ( i=n ) result=result*i; couti != resultendl; i=i+1; return 0; (3)短整型: #include/ 以短整型的数据类型输入; usingnamespace std; int main() int n,i=1; unsignedshort result=1;/ 定义短整型数值变量; coutn; while ( i=n ) result=result*i; couti != resultendl; i=i+1; return 0; 3. 实验结果: (1)字符型:最大为 n=5.当n=6时,明显不符。 (2)整型:最大为 n=12.明显n=13时已经不符合。 (3)短整型:最大为 n=8.n=9时已经不符。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号