c++实验答案 下载本文

实验答案 实验一实验一 1.实验目的 通过本次实验

(1)掌握用VC++集成开发环境编辑源程序的方法。

(2)掌握在VC++集成开发环境中编译、调试与运行程序的方法。 (3)理解数据类型、变量、运算符、表达式的概念。 (4)学会使用cin进行数据输入操作。

(5)学会用算术表达式、关系表达式、赋值表达式完成数据处理工作。 (6)学会使用cout进行数据输出操作。 2.实验要求

(1)编写实验程序;

(2)在VC++运行环境中,输入源程序; (3)编译运行源程序; (4)写出运行结果。 3.实验内容

(1)设计一个C++程序,输出以下信息: *************** Hello!

***************

(2)设计一个C++程序,输入三个职工的工资,求工资总额。 实验数据:1500,2000,2500

(3)设计一个程序,从键盘输入一个矩形的长与宽,求其周长和面积。 实验数据:50,40

(4)设计一个程序,输入一个华氏温度值,要求输出其对应的摄氏温度值。温度转换公式为:c=(f-32)*5/9。 实验数据:33

(5)从键盘输入一个四位整数n=abcd,从左到右用a、b、c、d表示各位的数字,现要求依次输出从右到左的各位数字,即输出另一个三位数m=dcba,试设计程序。 实验数据:1234 4.解答参考

(1)新建工程为myproject1,新建c++源程序,文件名为myfile1.cpp,输入以下内容: # include void main()

{ cout<<\ cout<<\ Hello!\

cout<<\}

运行结果:

*************** Hello!

*************** (2)算法分析提示:

存放每个职工的工资变量应该是一个实型数,故工资总额变量也应该是实型数。程序如下。

# include void main()

{ int sa1,sa2,sa3,sum;

cout<<\请输入三个职工的工资:\ cin>>sa1>>sa2>>sa3; sum=sa1+sa2+sa3;

cout<<\工资总额是:\}

运行结果:

请输入三个职工的工资:1500 2000 2500 工资总额是:6000 (3)程序如下:

# include void main() { float a,b ,L,S;

cout<<\请输入一个矩形的长与宽:\ cin>>a>>b; L=(a+b)*2; S=a*b;

cout<<\矩形的长与宽: \’和’<

运行结果:

请输入一个矩形的长与宽: 8 12

矩形的长与宽:8 和12 矩形的周长: 40 矩形的面积: 96 (4) 程序如下:

# include void main() { float c,f;

cout<<\请输入华氏温度:\ cin>>f; c=(f-32)*5/9;

cout<<\摄氏温度是: \}

运行结果:

请输入华氏温度:95 摄氏温度是: 35.0 (5)算法分析提示:

一个四位数如1234,它的千位数a是1,求解的方法是1234/1000,因为两个整数相除结果是取整了,所以可求出千位,而它的个位d是4,求解的方法是1234,余数恰好是结果,

至于百位数b和十位数c采用的方法是多样的,见程序。输出值为d*1000+c*100+b*10+a 程序如下:

# include # include void main()

{ int a,b,c,d,n,m;

cout<<\请输入四位十进制整数: \ cin>>n; a=n/1000;

b=n00/100; c=n0/10; d=n;

m=d*1000+c*100+b*10+a; cout<<\}

运行结果:

请输入四位十进制整数: 1234 m=4321

实验二 1.实验目的 通过本次实验

(1)初步学会VC++开发环境中,单步执行程序的方法。

(2)掌握if语句的格式与使用方法,学会两路分支程序设计方法; (3)掌握嵌套if语句的格式与用法,学会多路分支程序的设计方法。 (4)掌握switch语句的格式与使用方法,学会编写多路分支程序。 2.实验要求

(1)编写实验程序

(2)在VC++运行环境中,输入源程序 (3)单步执行程序 (4)编译运行源程序

(5)输入实验数据,写出运行结果。 3.实验内容

(1)演示单步执行程序的方法;

(2)设计一个程序,判断从键盘输入的整数的正负性和奇偶性。 实验数据:-3 与 5 (3)有下列函数:

-x+3.5 (x<5)

y= 20-3.5(x+3)2 (5≤x<10) -3.5+sin(x) (x≥10)

设计一个程序,从键盘输入x的值,输出y的值。 实验数据:6 与 11 (4)奖金税率如下:(a代表奖金,r代表税率)

a<100(元) r=0%

100≤a<200 r=2% 200≤a<400 r=4% 400≤a<800 r=8% a≥800 r=10% 输入一个奖金数,求税率、应交税款及实得奖金数。 实验数据:400 与 900 4.解答参考

(2) 算法分析提示:首先判断一个数是否是正数,在此基础上判断它是否是偶数。 算法描述如下:

①定义一个整数变量x。 ②输入该整数x。

③如果x>0,继续判断如果x%2=0,这时表明该数是一个正偶数,否则是一个正奇数。 ④否则表明是一个负数,再继续判断如果x%2=0,表明该数是一个负偶数,否则是一个负奇数。

# include void main() { int i;

cout<<\请输入一个整数:\ cin>>i; if (i>0)

if(i%2==0)

cout<

cout<

if(i%2==0)

cout<

cout<

运行结果:

请输入一个整数:-6 -6 is negative even number

(3) 流程图如图3.1所示。程序如下: 图3.1 分段函数流程图 假 开始 输入x x≥5 x≥10

y=x/2-3.5+sin(x) 输出y

y=20-3.5 (x+3)2

y=-x+3.5 结束 假 真 真

#include #include void main() { float x,y;

cout<<\ cin>>x; if (x>=5) if (x>=10)

y=x/2-3.5+sin(x); else

y=20-3.5*(x+3)*(x+3); else

y=-x+3.5;

cout<<\}

运行结果:

Input x: -3 y=6.5

(4) 算法分析提示:由于判断的条件比较多,所以考虑用switch语句。根据奖金额有被100除的特点,可以给变量b=a/100,不同的情况下税率不同。 算法描述如下:

① 定义四个变量a,b,r分别表示奖金额,情况变量,税率。 ② 输入奖金额a。

③ 如果a>=800则 r=10。 ④ 否则 b=a/100。

⑤ 根据b的值,得到r。

⑥ 输出时输出税率r,应交税款 a*r/100,实得奖金额a*(1-float(r)/100)。 # include void main() { int a,b,r;

cout<<\ cin>>a;

if (a>=800) r=10; else

{ b=a/100; switch (b)

{ case 0: r=0;break; case 1: r=2;break;