西安交大C++程序的设计第二章作业.docx

上传人:b****7 文档编号:8765386 上传时间:2023-02-01 格式:DOCX 页数:14 大小:29.13KB
下载 相关 举报
西安交大C++程序的设计第二章作业.docx_第1页
第1页 / 共14页
西安交大C++程序的设计第二章作业.docx_第2页
第2页 / 共14页
西安交大C++程序的设计第二章作业.docx_第3页
第3页 / 共14页
西安交大C++程序的设计第二章作业.docx_第4页
第4页 / 共14页
西安交大C++程序的设计第二章作业.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

西安交大C++程序的设计第二章作业.docx

《西安交大C++程序的设计第二章作业.docx》由会员分享,可在线阅读,更多相关《西安交大C++程序的设计第二章作业.docx(14页珍藏版)》请在冰豆网上搜索。

西安交大C++程序的设计第二章作业.docx

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

交通大学实验报告

课程计算机程序设计实验名称基本数据类型的熟悉第1页共12页系别—实验日期2014年3月4日

专业班级=组别实验报告日期2014年3月8日

姓名—__—学号__报告退发(订正、重做)同组人教师审批签字

1.实验目的

1.通过实验熟悉整数类型变量、字符变量、双精度类型变量等基本数据类型的使用;

2.学会小数的取整(通过强制类型转换的方法)、整数的求余、表达式中算术运算符的使用;

3.条件语句(ifelse)、循环语句(while)的使用。

2.实验容

(一)第一题:

编写一个程序,要求完成以下要求:

1)提示用户输入任意的三个小数;

2)显示这三个小数;

3)将这三个小数相加并显示结果;

4)将结果四舍五入转换成整数并显示。

1.要点分析:

第一步:

输入三个小数;

第二步:

显示所输入的小数;

第三步:

求和并显示;

第四步:

对所求得的和取整(强制类型转换,将双精度类型变量转换为整数变量),

再用和减去该数从而得到和的小数部分;

第五步:

通过判断小数部分的大小(是>=0.5还是<0.5)决定是“四舍”还是“五入”,根据不同的情况输出“四舍五入”所得的结果(小于0.5则直接输出取整所得;大于等于0.5则取整后加1);

第六步:

选择是否再次开始,若是,循环前五步;否则,结束程序。

2.源程序代码:

#include

usingnamespacestd;

intmain()

{

doublea,b,c,sum,left;//定义双精度类型变量;

intSUM;//定义整数变量;

cout<<"请输入三个任意小数:

";//提示输入三个小数;cin>>a>>b>>c;

cout<<"您输入的三个小数是:

"<<""<

cout<<"这三个小数的和是:

"<

SUM=i(nt)sum;//对和取整;

left=sum-SUM;//求和的小数部分;

if(left>=0.5)//判断小数部分大小,并据此实现四舍五入;

{

cout<<"四舍五入得:

"<

}

else

{

cout<<"四舍五入得:

"<

}

intch;//定义整数变量;

cout<<"如需继续输入,请按键;如要结束,请按键!

"<

cin>>ch;//输入表示选择的数字;while(ch==1)//循环上述运算;

{

cout<<"请输入三个任意小数:

";

cin>>a>>b>>c;

cout<<"您输入的三个小数是:

"<<""<

cout<<"这三个小数的和是:

"<

SUM=i(nt)sum;left=sum-SUM;

if(left>=0.5)

{

cout<<"四舍五入得:

"<

else

{

cout«"四舍五入得:

"vvSUMvvendl;

}

coutvv"如需继续输入,请按键;如要结束,请按键!

"vvendl;

cin»ch;

}

coutvv"运行完毕,!

"vvendl;

return0;

}

3.实验结果:

QB2:

\v/ineost*m>2\crrd.ex#

FoI

请输入三fEtTifc:

i2

您输入的三个小数是:

123

这三个小数的和是:

四舍五入得:

6

如需继续输入,请按1键;如要结束.请按?

键!

1

请输入三个住意小数:

L2L1L2

您输入的三个小数是:

L21.11.2

这三个小数的和是:

3.3

四舍五入得:

4

如需继续输2请接1键:

如要结束,请按2德!

1

请输入三个任童小数;2.132,131.23

您输入的三个小数是:

2-132.131.23

这三个乐数的和是:

5+49

四舍五入得:

5

如需继续输入*请後1键?

如要结束,请按2键!

1

请输入三个件竜小数:

1,44L231.32

您输入的三个小数是:

1.441.23L32

这三个小数的和是弋3.99

四舍五入得;4

如需继续输入”渣孩1镇:

址要结束芋请按2選!

2

运行芫毕.谢谢!

请接任意縫继续_

(二)第二题:

输入两个角度值x、y,计算如下式子的值(C++中

的三角函数的输入是弧度):

sin(|x+y[)

x/cos(x+y)

1.要点分析:

第一步:

输入两个角度值;第二步:

判断所输入的值下式子是否有意义(即x与y之和是不是90+n*360),

若无,提示重新输入直至正确;若有意义,进行下一步;

第三步:

将所输入的角度制下的值转化为弧度制下的值(需要用到pi,只能预先输入较为精确的pi值);

第四步:

计算并输出结果。

2.源程序代码:

#include

#include//包含标准数学函数的math.h函数库;

usingnamespacestd;

intmain()

{

doublex,y,sum,SUM,result,m,pi=3.0679;//定义双精度变量,给出常量pi的初始值;cout<<"请输入两个角度值:

";//提示输入变量;

cin>>x>>y;//输入变量;m=(abs(x+y)+90)/360;intM;//定义整数变量M;

M=(int)m;〃对m取整得到M

while(m-M>=0.5||m==M)//比较M=i之间的关系,使得式子无意义时循环;

{

coutvv"对不起在您输入的数值下该式无意义,请重新输入:

";//提示重新输入;

cin>>x>>y;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<<"计算结果是:

"<

}

3.实验结果:

S3C:

\windows\syste-m32\,cmd.exe|-cz>-||EH

请输入两个菊曳值:

4345二

对不起在您输入的数值下该式无意义*请重新输入:

135135口对不起在您输入的数值下该式无意义,请重新输入,6454对不起在您输入的数值下该式无意义,请重新输入:

4445计算结果是;7.56844请按任意键继续....

(3)第三题:

仿照本章课件例题,任意输入3个小写字母组成的单

词,采用凯撒加密方法:

每个字母用其后第5个字母代替形成密文,

然后输出密文。

1.要点分析:

第一步:

输入要加密的三个小写字母;

第二步:

判断所输入的是不是全为小写字母(判断是否“>=a”而“<=z”),如

不是,提示重新输入;如是,进行下一步;

第三步:

将输入的字母往后推移5位(z完了之后需要再次从a数起)并输出结果。

2.源程序代码:

usingnamespacestd;

intmain()

{

charch1,ch2,ch3;//定义三个字符变量;

COUt«"请输入三个小写字母:

";//提示输入需要加密的密文;

cin>>ch1>>ch2>>ch3;

while(ch1>'z'||ch1<'a'||ch2>'z'||ch2<'a'||ch3>'z'||ch3<'a')//判断若所输入的任意一个字符

量不是小写字母,重新输入;

{

coutvv"您输入的不全是小写字母,请重新输入:

"vvendl;

cin>>ch1>>ch2>>ch3;//

}

coutvv"您输入的小写字母是:

"vvch1vv""vvch2<<'"vvch3

if(ch1>'u')//判断输入的各个字母是否是后个,若是则从a继续数直至五个以后;

{

ch仁ch1-21;

}else

{

ch1=ch1+5;

}

if(ch2>'u')

{

ch2=ch2-21;

}

else

{

ch2=ch2+5;

}

if(ch3>'u')

{

ch3=ch3-21;

}else{

ch3=ch3+5;

}

cout«"密文是:

"vvch1vvch2

}

3.实验结果:

清输入三个小写字母:

1器

您输入的不全是小写字母,请重新输入:

您输入的不全是小三宇母•请車斬输入:

:

您输入的不全是小写宇母.请重新输入:

您输入的不全是小三宇母,请重新输入:

您输入的不全是小写字母,请重新输入:

&3V

您输入的小写字母是:

asy

密支是:

fxd

清按任意键绻续..._

(四)第四题:

输入一个4位十进制数,求其每位数字的立方之和

例如:

输入2456,则输出23+43+53+63=8+64+125+216=413注意只要

求输出红色算式结果

1.要点分析:

第一步:

输入数值;

第二步:

判断输入的是不是四位数,若不是,提示重新输入;若是,进行下一步;第三步:

分别分离出该四位数的个位、十位、百位、千位数字(通过对该四位数除以10、100、10000取余等方法);

第四步:

计算各位数字的立方和并输出。

2.源程序代码:

#include

usingnamespacestd;

intmain()

{

intA,a,b,c,d,sum;//定义整数变量;

coutvv"请输入一个四位整数:

";

cin>>A;

while(A>=10000||A<1000)//判断输入的值是不是四位数,若不是则重新输入;

{

coutvv"您输入的不是四位数,请正确输入:

”;

cin>>A;

}

coutvv"您输入的是:

"vvAvvendl;//显示所输入的四位数;

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;//计算各位数立方和;

coutvv"计算结果是:

"vvd*d*dvv'+'vvc*c*cvv'+'vvb*b*bvv'+'vva*a*avv'='vvsumvvendl;//输出计算结果;

return0;

}

3.实验结果:

=1国入亠

|清输入一个四忙幣数:

999

您输入的不是四住数’清壬确编入:

^0000卜输人的不蒂四忙数.清一F诵唏扎:

1?

?

1

您聲入的是:

1221

计厦结果是:

1-^8+1=18

清按任意键继续•-•

*1——匸

五)第五题:

编写程序计算下列二元一次方程组的根:

AX+BY=C

DX+EY=F

通过键盘输入6个系数,然后计算求解,最后输出方程的根。

1.要点分析:

第一步:

输入方程组的各个系数;第二步:

判断方程是否无解或有无数解(满足a*e-b*d=0),若是,提示重新输入;若不是,进行下一步;

第三步:

计算x、y的值,并输出。

2.源程序代码:

#include

usingnamespacestd;

intmain()

{

doublea,b,c,d,e,f;//定义双精度变量;

doublex,y;

doublem;

cout<<"您要输入的二元一次方程组的形式如下:

"<

输入系数的顺序;

cout<<"请按照上述提示按照"<

";cin>>a>>b>>c>>d>>e>>f;//输入系数;

m=a*e-b*d;//比较系数;

while(m==0)//判断方程是否有解,若无则重新输入;

{

cout<<"您输入的方程无解或有无数解!

"<

";cin>>a>>b>>c>>d>>e>>f;

m=a*e-b*d;

}

x=(c*e-b*f)/m;//计算x的值;

y=(a*f-c*d)/m;//计算y的值;

cout<<"计算结果是:

"<<"x="<

return0;

}

3.实验结果:

替囁轴入的二元一次芳撫姐的磁式如下:

1

'b*-.=u.

□1

请按餐上述導示按理

丨吕bedf

的顺宇输入相应的系馥;12324G

您输入的帯遅无解或育无麺职

応重斯按照相同方式输入,001123程;笹入帥方环无解或电无数单:

请重新按照相同方式綸入:

1231L2

|计皐结果是:

1;y=1

请按任竜键逖续.一.

<1~

(六)第六题:

仿照本章课件例题,分别用字符变量、短整型变量和整型变量求N!

通过运行测试,分别告知最大的N为多少?

1.要点分析:

第一步:

输入n的值,以确定一个执行围;

第二步:

i=1,result=1;

第三步:

判断i<=n是否成立,若否,结束程序;若是,执行下一步;

第四步:

计算results的值并将其赋给result,然后将i增加1,返回第三步再次

判断。

2.源程序代码:

(1)字符型:

#include//以字符变量的数据类型输入;

usingnamespacestd;

intmain()

{intn,i=1;//定义整数变量;

unsignedcharresult=1;//定义无符号字符变量;

cout«"inputintegern:

";

cin»n;

while(i<=n)//在不超出n的围循环输出结果;

{

result=result*i;

coutvvivv"!

="vvresult+Ovvendl;//输出结果;

i=i+1;

}

return0;

}

(2)整型:

#includeviostream>//以整型的数据类型输入;

usingnamespacestd;

intmain()

{intn,i=1;

unsignedresult=1;//定义整型数值变量;

cout«"inputintegern:

";

cin»n;

while(i<=n)

{

result=result*i;

coutvvivv"!

="vvresultvvendl;

i=i+1;

}

return0;

}

(3)短整型:

#includeviostream>//以短整型的数据类型输入;usingnamespacestd;

intmain()

{intn,i=1;

unsignedshortresult=1;//定义短整型数值变量;coutvv"inputintegern:

";

cin>>n;

while(iv=n)

{

result=result*i;

coutvvivv"!

="vvresultvvendl;

i=i+1;

}

return0;

}

3.实验结果:

(1)字符型:

最大为n=5.当n=6时,明显不符

(2)整型:

最大为n=12.明显n=13时已经不符合

(3)短整型:

最大为n=8.n=9时已经不符。

 

tQ||S1^3-1

血匸:

indows\system32\cmd.exe

inputintegern:

10l'=l

2i=2

3!

二6

41=24

5'=120

61-720

T1=5040

81=40320

9[=35200

101=24320

请孜任意犍继续・・•

*Itrr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

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

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