}
n=(n-j)/10; k=n; n=i*100+j*10+k;
cout<<\逆转数为:\
//去掉十位数 //k存放百位数
思考:
? 修改程序,使其先取百位数,再取十位数,最后取个位数。
4.本例测试了不同数据类型之间的数据转换。分析下列程序的运行结果。
#include
int a=32,b; double c=2.7,d; char e='D',f;
b=a+c; //A d=a+c; f=a+e;
cout<<\ cout<<\
cout<<\ //B cout<
思考:
? 修改程序A行,对b的输出值四舍五入。 ? 修改程序B行,按整型值输出f。 ? 分析C行数据的值的类型。
(二)完成实验项目
1. 输入二整数a、b,实现二个数的交换(不借用第三变量)。
2. 从键盘输入三角形的三边长,输出三角形的周长和面积(此处假设可以构成三角形)。 3. 编写程序输入两个整数,输出它们的商和余数。
四、课后作业
1. 从键盘输入一个三位整数n=abc,从左到右用a、b、c表示各位的数字,现要求依次输出从右到左的各位数字,即输出另一个三位数m=cba,例如:输入123,输出321。(不得采用实验中已使用过的方法)
2. 撰写实验报告。
五、实验机时
2个标准学时。
实验三 选择结构的程序设计
一、目的和要求
1. 掌握Visual C++6.0集成环境中的单步执行;
2. 熟悉if 与switch语句的格式、执行过程、使用方法及典型案例; 3. 学会使用选择结构解决一般的实际问题,能编写简单的应用程序。
二、实验设备及分组
1. Windows2000以上操作系统; 2. Visual C++6.0语言环境; 3. 每人一台PC机。
三、内容和步骤
(一)验证分析程序
1.由键盘输入三个数,判断能否构成三角形。 分析:
判断b+c>a是否成立,若不成立则一定不能构成三角形;若成立则有可能构成三角形,再判断b-c
参考程序如下:
#include
double a,b,c,t;
cout<<\请输入a的值\ cin>>a;
cout<<\请输入b的值\ cin>>b;
cout<<\请输入c的值\ cin>>c; t=b-c; if(t<0)
t=-t;
if(b+c>a)
}
{
if(t
cout<<\能构成三角形\else
cout<<\不能构成三角形\
}
else
cout<<\不能构成三角形\
思考:
? 将程序改为非嵌套的if语句实现。
? 在程序中增加语句,使其在能构成三角形的情况下进一步判断三角形的类型(直角、钝角、锐角三角形)。
提示:三角形的类型由最长边所对的角决定。假定三角形最长边为c,其所对的角为θ。其他两边为a、b。计算公式如下:
a2?b2?c2cos??2ab
例如,
当c2=a2+b2 时,为直角三角形; 当c2>a2+b2 时,为钝角三角形;
当c2
2.某商店“五·一”长假期间购物打折。规则如下:
若每位顾客一次购物,
① 满1000元,打九折; ② 满2000元,打八折; ③ 满3000元,打七折; ④ 满4000元,打六折; ⑤ 5000元,打五折;
编写程序,输入购物款,输出实收款。
解:本例使用了if-else if语句进行多重判断。参考程序如下:
#include
double m,p;
cout<<\输入购物款:\
cin>>m;
if(m<1000) p=m;
else if (m<2000)p=0.9*m; else if(m<3000) p=0.8*m;
else if(m<4000) p=0.7*m; else if(m<5000) p=0.6*m; else p=0.5*m; cout<<\实收款:\}
3.有下列分段函数:
编一程序,输入x,输出y的值。 解:程序如下:
#include
float x,y;
cout<<\cin>>x; if (x>=0) if (x>=10)
y=x*x*x; else
y=x*x-5;
else
y=x+1;
cout<<\}
运行结果:
Input x: -3