[C++ Primer Plus] 第3章、处理数据(二)课后习题
1 . 编写一个小程序,要求用户使用一个整数输出自己的身高(单位为厘米),然后将身高转换为米和厘米。该程序使用下划线字符来指示输入位置。另外,使用一个 const 符号常量来表示转换因子。
#include<iostream>
using namespace std; void main(){
const int change=;//转换因子
cout<<"请输入您的身高(单位为厘米):___\b\b\b";
int height,meter,cm;
cin>>height;
meter=height/change;
cm=height%change;
cout<<"您的身高为"<<meter<<"米"<<cm<<"公分(厘米)"<<endl;
system("pause");
}


注意:使用下划线来指示输入位置主要利用转义字符\b
2.编写一个小程序,要求以几英尺几英寸的方式输入其身高,并以磅为单位输入其体重。(使用三个变量来存储这些信息。)该程序报告其BMI(Body Mass Index,体重指数)。为了计算BMI,该程序以英寸的方式指出用户的身高(1英尺为12英寸),并将以英寸为单位的身高转换为以米为单位的身高(1英寸=0.0254米)。然后,将以磅为单位的体重转换为以千克为单位的体重(1千克=2.2磅)。最后,计算相应的BMI-体重(千克)初一身高(米)的平方。用符号常量表示这种转换因子。
#include<iostream>
using namespace std; void main(){
const int FootToInch=;//1英尺等于12英寸
const double InchToMeter=0.0254;//1英寸=0.0254米
const double PoundToKg=/2.2;
int foot,inch,pound;
double meter,kg,BMI;
cout<<"请以几英尺几英寸的方式输入您的身高。\n";
cout<<"请输入英尺的值:";
cin>>foot;
cout<<"请输入英寸的值:";
cin>>inch;
cout<<"请输入您的体重(磅):";
cin>>pound;
meter=foot*FootToInch*InchToMeter;
kg=pound*PoundToKg;
BMI=kg/meter/meter;
cout<<"您的身高为"<<meter<<"米,您的体重为"<<kg<<"千克,您的BMI为"<<BMI<<endl;
system("pause");
}

3.编写一个程序,要求用户以度、分、秒的方式输入一个维度,然后以度为单位显示该维度。1度为60分,1分等于60秒,请以符号常量的方式表示这些值,对于每个输入值,应使用一个独立的变量存储它。下面是该程序运行的情况:
Enter a latitude in degrees, minutes, and seconds:
First, enter the degrees: 37
Next, enter the minutes of arc: 51
Finally, enter the seconds of arc: 19
37 degrees, 51 minutes, 19 seconds =37.8553 degrees
#include<iostream>
using namespace std; void main(){
const int rate=;
double degree,minute,second,result;
cout<<"Enter a latitude in degrees, minutes, and seconds:"<<endl;
cout<<"First, enter the degrees: ";
cin>>degree;
cout<<"Next, enter the minutes of arc:";
cin>>minute;
cout<<"Finally, enter the seconds of arc:";
cin>>second;
result=(second/change+minute)/change+degree;
cout<<degree<<" degrees,"<<minute<<" minutes,"<<second<<" seconds="<<result<<endl;
system("pause");
}

4.编写一个程序,要求用户以整数方式输入秒数(使用long或者longlong变量存储),然后以天、小时、分钟和秒的方式显示这段时间。使用符号常量来表示每天有多少小时。该程序的输出应与下面类似:
Enter the number of seconds: 31600000
31600000 seconds = 365 days, 17 hours, 46 minutes, 40 seconds
#include<iostream>
using namespace std; void main(){
const int rate1=;
const int rate2=;
long secondTotal,minuteTotal;
int day,hour,minute,second;
cout<<"Enter the number of seconds:";
cin>>secondTotal;
minuteTotal=secondTotal/;
second=secondTotal%;
minute=minuteTotal%;
hour=minuteTotal/%;
day=minuteTotal//;
cout<<secondTotal<<" seconds="<<day<<" days,"<<hour<<" hours,"<<minute<<" minutes,"<<second<<" seconds"<<endl;
system("pause");
}

5.编写一个程序,要求用户输入全球当前的人口和美国当前的人口(或其他国家的人口)。将这些信息存储在longlong变量中,并让程序显示美国(或其他国家)的人口占全球人口的百分比。该程序的输出应与下面类似:
Enter the world's population: 6898758899
Enter the population of the US : 310783781
The population of the US is 4.50492% of the world population.
#include<iostream>
using namespace std; void main(){
long long People_world,People_US;
double rate;
cout<<"Enter the world's population:";
cin>>People_world;
cout<<"Enter the population of the US:";
cin>>People_US;
rate=People_US*1.0/People_world;
cout<<"The population of the US is "<<rate*<<"% of the world population."<<endl;
system("pause");
}

注意:11行代码需要乘以1.0转成浮点数
6.编写一个程序,要求用户输入驱车里程(英里)和使用汽油量(加仑),然后指出汽车耗油量为一加仑的里程。如果愿意,也可以让程序要求用户以公里为单位输入距离,并以升为单位输入汽油量,然后指出欧洲风格的结果 — — 即 每 100 公里的耗油量(升)。
#include<iostream>
using namespace std; void main(){
double mile,gallon,km,liter;
cout<<"请输入驱车里程(英里):";
cin>>mile;
cout<<"请输入耗油量(加仑):";
cin>>gallon;
km=mile*1.609344;
liter=gallon*3.875;
cout<<"汽车耗油量为:一加仑里程"<<mile/gallon<<"英里,即每100公里的耗油量"<<liter/km*<<"升。"<<endl;
system("pause");
}

7.编写一个程序,要求用户按欧洲风格输入汽车的耗油量(每100公里消耗的汽油量(升)),然后将其转换为美国风格的耗油量——每加仑多少英里。注意,除了使用不同的单位计量外,美国方法(距离/燃料)与欧洲方法(燃料/距离)相反。100公里等于62.14英里,1加仑等于3.875升。因此19mpg大约合12.4L/100km,27mpg大约合8.7L/100km。
#include<iostream>
using namespace std; void main(){
double US,Europe;
cout<<"请输入耗油量(每100公里消耗的汽油量(升)):";
cin>>Europe;
US=62.14/(Europe/3.875);
cout<<"汽车耗油量为:每加仑"<<US<<"英里"<<endl;
system("pause");
}

[C++ Primer Plus] 第3章、处理数据(二)课后习题的更多相关文章
- C Primer Plus_第三章_数据和C_复习题与编程练习
Review long代替int类型变量的原因是什么? 在您的系统中,long可以容纳比int更大的数:如果您确实需要处理更大的值,那么使用一种在所有系统上都保证至少是32位的类型会使程序的可移植性更 ...
- 大数据基础--R语言(刘鹏《大数据》课后习题答案)
1.R语言是解释性语言还是编译性语言? 解释性语言 2.简述R语言的基本功能. R语言是一套完整的数据处理.计算和制图软件系统,主要包括以下功能: (1)数据存储和处理功能,丰富的数据读取与存 ...
- C语言程序设计·谭浩强(第四版)第二章课后习题的答案,算法——程序的灵魂
C语言程序小练习 1.用C语言设计程序算出1-1/2+1/3-14+1/5...+1/99-1/100的值 #include<stdio.h> int main() { ; double ...
- C++ primer plus读书笔记——第3章 处理数据
第3章 处理数据 1. C++对于变量名称的长度没有限制,ANSI C只保证名称中的前63个字符有意义(前63个字符相同的名称被认为是相同的,即使第64个字符不同). 2. 对类型名(int)使用si ...
- C Primer Plus_第6章_循环_编程练习
1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...
- C Primer Plus_第四章_字符串和格式化输入输出_编程练习
Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...
- 《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...
- C Primer Plus_第5章_运算符、表达式和语句_编程练习
Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...
- MVC5+EF6 简易版CMS(非接口) 第三章:数据存储和业务处理
目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...
- 《Programming WPF》翻译 第5章 5.数据模板和样式
原文:<Programming WPF>翻译 第5章 5.数据模板和样式 让我们想象一下我们想要实现TTT更有娱乐性的一个版本(这是大部分游戏中最重要的特色).例如,TTT的一种变体允许玩 ...
随机推荐
- 联想R720面板右下部分按压后和上面按键串联了
如图所示的位置,一用力按压,就会触发键盘的按键. 前提: 本人刚刚加装了内存条,内存条是京东买的 十铨(Team) DDR4 2400 8GB 笔记本内存,安装完内存以后,发现电脑出了这样的问题. 解 ...
- iOS - 记住用户登录状态保存用户名密码
我们在使用APP时常用的一个功能:用户第一次进入APP时自动进入登录注册页,提示用户注册登录,用户登录成功后才进入主页,再次进入APP时,不用再次登录就直接进到主页了,就算杀掉该APP进程再次进入,依 ...
- SQL语句利用日志写shell
outfile被禁止,或者写入文件被拦截: 在数据库中操作如下:(必须是root权限) show variables like '%general%'; #查看配置 set global genera ...
- 剑指offer——python【第29题】最小的K个数
题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 思路 先排序后取数,排序可以用冒泡,插入,选择,快排,二分法等等, ...
- php计算几分钟前、几小时前、几天前的几个函数
函数方法: /*php计算几分钟前.几小时前.几天前的几个函数*/ function get_date($time){ $t=time()-$time; $f=array( '31536000'=&g ...
- MySQL 添加索引,删除索引及其用法
一.索引的作用 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重. 在数据 ...
- 【Python全栈-后端开发】Django进阶之Model操作复习
Django进阶之Model操作复习 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - ...
- [js]js中4种无节操的预解释情况
js中4种无节操的预解释情况 - 1. if语句即使条件不成立,条件里的表达式也会进行预解释. - 2. 匿名函数的预解释: 只对等号左边与解释 - 3. 自执行函数的预解释: 不进行预就解释, 执行 ...
- [js]浏览器同源策略(same-origin policy)
浏览器的同源策略 浏览器同源政策及其规避方法 什么是同源策略 A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源".所谓"同源"指的是" ...
- tplink路由器DMZ设置
设置完成后,DMZ主机访问不了? 请排查以下方面: 1.确认服务器搭建成功,即内网可以正常访问: 2.确认在DMZ主机中填写的服务器IP地址正确: 3.宽带直接连接服务器并配置上网,确认外网可以正常访 ...