[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的一种变体允许玩 ...
随机推荐
- PHP异步请求之fsockopen()方法详解
正常情况下,PHP执行的都是同步请求,代码自上而下依次执行,但有些场景如发送邮件.执行耗时任务等操作时就不适用于同步请求,只能使用异步处理请求. 场景要求: 客户端调用服务器a.php接口,需要执行一 ...
- mock---前端搭建模拟服务
在做前端开发接口的时候,往往接口都是从后端来的,这让前端很苦恼,但是有了 MockServer ,前端也可以搭建API服务了. server-mock是什么? 是一款nodejs的应用,用于搭建web ...
- mysql批量update的两种方法
today a question let me happy(抓狂) 头儿分了一个小任务,让修改循环调用dao层的那些不啦不啦不啦,鉴于之前写过批量更新的玩意,so 很快代码就修改完了,but 测的时候 ...
- javascript 关键字高亮显示实现代码
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- Linux wildcard
Linux中的通配符: 需要注意的是正则表达式与通配符完全是两个东西.wildcard代表的是bash操作接口的一个功能,而正则表达式是一种字符串处理的方法. 例如,'?',在通配符中表示一个字符,在 ...
- Codeforces 1138 - A/B/C/D/E - (Undone)
链接:https://codeforces.com/contest/1137 A - Skyscrapers 题解:对于每一段 $1$ 和每一段 $2$,统计他们的长度.因此对于相邻的两段长度求较小值 ...
- IDEA创建Spring+SpringMVC+MyBatis(SSM)极简入门(上)
1. 创建项目 2. 添加Controller 3. pom+ properties+swager 4. 添加Mysql+ Mybatis 5. 调用Mybatis生成Mapper 1.创建 ...
- SQL[Err] ORA-00979: not a GROUP BY expression
Oracle中group by用法 not a GROUP BY expression异常产生是因为group by用法的问题. 在使用group by 时,有一个规则需要遵守,即出现在select列 ...
- mssql卸载后重新安装 错误解决
1.instance id already in use http://www.sqlservercentral.com/articles/MSSQLSERVER/161398/ 2.提示没有重启 删 ...
- js 合并两个数组对象
项目背景是合并a = [{name:'dede'},{name:'jenny'}], b = [{age:18},{age:19}] 合并成[{name:'dede',age:18},{name: ...