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<<'"vvch3if(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