c++实验答案
更新时间:2024-05-21 09:07:01 阅读量: 综合文库 文档下载
实验答案 实验一实验一 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
{ cout<<\ cout<<\ Hello!\
cout<<\}
运行结果:
*************** Hello!
*************** (2)算法分析提示:
存放每个职工的工资变量应该是一个实型数,故工资总额变量也应该是实型数。程序如下。
# include
{ int sa1,sa2,sa3,sum;
cout<<\请输入三个职工的工资:\ cin>>sa1>>sa2>>sa3; sum=sa1+sa2+sa3;
cout<<\工资总额是:\}
运行结果:
请输入三个职工的工资:1500 2000 2500 工资总额是:6000 (3)程序如下:
# include
cout<<\请输入一个矩形的长与宽:\ cin>>a>>b; L=(a+b)*2; S=a*b;
cout<<\矩形的长与宽: \’和’<
运行结果:
请输入一个矩形的长与宽: 8 12
矩形的长与宽:8 和12 矩形的周长: 40 矩形的面积: 96 (4) 程序如下:
# include
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
{ 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
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
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
cout<<\ cin>>a;
if (a>=800) r=10; else
{ b=a/100; switch (b)
{ case 0: r=0;break; case 1: r=2;break;
case 2:
case 3: r=4;break; case 4: case 5: case 6:
case 7: r=8;break;
default :cout<<\ } }
cout<<\ cout<<\
cout<<\}
运行结果:
please Input prize :400 Tax rate: 8% Tax: 32 Prise: 368 运行结果:
please Input prize :900 Tax rate: 10% Tax: 90 Prise: 810 实验三
1.实验目的 通过本次实验
(1)掌握while语句的格式与使用方法,学会当型循环程序设计方法; (2)掌握for语句的格式与用法,学会当型循环程序设计方法;
(3)掌握do?while语句的格式与使用方法,学会直到型循环程序设计方法; (4)学会求常用级数的编程方法; 2.实验要求
(1)编写实验程序
(2)在VC++运行环境中,输入源程序 (3)编译运行源程序
(4)输入实验数据,写出运行结果。 3.实验内容
(1)输入一行字符,分别统计出其中英文字母、空格、数字字符和其它字符的个数。 提示:用cin.get(c)函数从键盘上输入一个字符给变量c,直到输入回车换行字符'\\n'为止。 (2)设有一个数列,它的前四项为0、0、2、5,以后每项分别是其前四项之和,编程求此数列的前20项。
(3)求π近似值的公式为:
其中,n=1、2、3?设计一个程序,求出当n=1000时的π的近似值。
(4) 求出1~599中能被3整除,且至少有一位数字为5的所有整数。如15、51、513均是满足条件的整数。
提示:将1~599中三位整数i分解成个位、十位、百位,分别存放在变量a、b、c中。然后判断a、b、c中是否有5。将三位整数i
(设i=513)分解成个位、十位、百位的方法是: c=i; //c= i=513=3 a=i/10; //a= i/10=51
b=a; //b=a=51=1 a=a/10; //a=a=51/10=5 4.解答参考
(1) # include
int i,letter=0,number=0,blank=0,other=0; cout<<\请输入字符串:\
cin.get(c); //get(c)函数用于从键盘上提取一个字符 while(c!='\\n')
{ if ('a'<=c && c<='z' || 'A'<=c && c<='Z') letter++; else if ('0'<=c && c<='9') number++; else if (c==' ') blank++; else other++; cin.get(c); }
cout<<\ cout<<\ cout<<\ cout<<\}
运行结果:
请输入字符串:I am Student 1234 letter=10 number=4 blank=3 other=0
(2) 数列前四项值存放在变量 f1=0、f2=0、f3=2、f4=5中 第5项的值用f1表示,则f1= f1+f2+f3+f4; 第6项的值用f2表示,则f2= f2+f3+f4+f1; 第7项的值用f3表示,则f3= f3+f4+f1+f2; 第8项的值用f4表示,则f4= f4+f1+f2+f3; 共进行5次,即可求出此数列的前20项。 # include
f1=0; f2=0; f3=2; f4=5; for (i=1;i<=5;i++)
{ cout< 运行结果: 0 0 2 5 7 14 28 54 103 199 384 740 1426 2749 5299 10214 19688 37950 73151 141003 (3) # include cout<<\ cin>>m; for(n=1;n<=m;n++) { pi=pi*(2.0*n/(2.0*n-1)*2.0*n/(2.0*n+1)); } cout<<\} 运行结果: Please Input m:1000 pi=3.14081 运行结果: Please Input m:10000 pi=3.14151 (4) # include { int i,a,b,c,j=1; for (i=1;i<=599;i++) if (i%3==0) { a=i/100; b=i0/10; c=i0; if ((a==5) || (b==5) || (c==5)) { cout< if (j%5==0) cout< } } cout< 实验四 1.实验目的 通过本次实验 (1)掌握一维数组的定义、初始化赋值、数组元素的引用方法; (2)掌握二维数组的定义、初始化赋值、数组元素的引用方法; (3)学会求数组元素中的最大值、最小值、平均值的方法; (4)学会数组元素排序的两种编程方法。 2.实验要求 (1)编写实验程序; (2)在VC++运行环境中,输入源程序; (3)编译运行源程序; (4)输入实验数据,写出运行结果 3.实验内容 (1)某班第1组有10个学生,进行了C++考试,编写程序将考试成绩输入一维数组,并求出C++的平均成绩及优(90~100)、良(80~89)、中(70~79)、及格(60~69)与不及格(0~59)学生的人数。 实验数据:90、85、80、75、70、65、60、55、50、45 (2)某班第1组有10个学生,进行了C++考试,编写程序将考试成绩输入一维数组,并将C++成绩用冒泡法、选择法两种排序算法,由低到高的顺序排序后输出。 实验数据:90、85、80、75、70、65、60、55、50、45 (3)输入一个5行5列的二维数组,编程实现: 求出其中的最大值和最小值及其对应的行列位置; 求出对角线上各元素之和。 实验数据: 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 (4)设A、B、C为m行n列矩阵。设计矩阵加法程序,能完成C=A+B的操作。并输出C的元素值。m与n用define定义为常量,取值3、3。A、B矩阵的元素值如下: 1 2 3 A= 4 5 6 7 8 9 3 2 1 B= 6 5 4 9 8 7 4.解答参考 (1) #include int i,b[]={0,0,0,0,0},a[N]; cout<<\ for (i=0;i<=N-1;i++) cin>>a[i]; for (i=0;i<=N-1;i++) { sum=sum+a[i]; switch (a[i]/10) { case 10: case 9: b[0]++;break; case 8: b[1]++;break; case 7: b[2]++;break; case 6: b[3]++;break; default: b[4]++; } } cout<<\优: \ cout<<\良: \ cout<<\中: \ cout<<\及格: \ cout<<\不及格: \ cout<<\平均分: \ cout< 运行结果: Input 10 score: 90 85 80 75 70 65 60 55 50 45 优: 1 良: 2 中: 2 及格:2 不及格: 3 平均分: 67.5
正在阅读:
c++实验答案05-21
大学物理C下学期试题02-26
2017-2018学年度牛津译林版8B英语初二期中试卷及答案 - 图文03-30
验光员工作总结12-16
ANSYS自上而下自下而上建模及受力分析01-19
投资银行学考试大纲03-07
互联网金融的安全高收益问题01-05
基层计划生育宣传工作计划与实施10-16
关于读书的现代诗歌10-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- c++
- 答案
- 实验
- 焊接设备维修实训 - 图文
- 最新三年高考物理高频考点精选分类解析 考点46 传感器
- 六年级语文(下册)《生字表》生字的形近字及组词【原创】
- 小学美术赣美版 二年级下册 第4课《春夏的色彩》优质课公开课教
- 2018年最新中考物理总复习资料汇总全书(全套,139页,含答案)
- 吉奥承包经营权采编系统2.1更新功能使用说明
- 黄冈市城区蓝线专项规划说明书 - 图文
- 《日历》教案3
- 党务工作者工作总结范文学习参考(word格式)
- 租户手册
- 编导真题集锦(绝密)
- 课内文言文复习:《桃花源记》《小石潭记》《核舟记》
- 2017-2023年中国轮廓仪行业市场专项调研及投资前景可行性预测报
- 河北省藁城市尚西中学九年级语文练习试题10-30
- 保安员岗位职责保证书
- 施工测量方案
- 中国电信业务
- 土木工程公寓宿舍毕设完整
- 商务智能技术在银行业务中基于数据仓库的研究与实现
- 铁路隧道施工组织设计