[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的一种变体允许玩 ...
随机推荐
- YApi 部署记录
YApi 是一个可本地部署的.打通前后端及QA的.可视化的接口管理平台. Step1:准备Mongo数据库 services: mongo: image: mongo restart: always ...
- linux下的ssh和rynsc
在ubuntu下有ssh的目录,但是没有使用 ps -e | grep ssh时没有任何输出,说明没有安装ssh或者是1.x版本,可以打开etc/ssh目录,看是否有文件,下装系统再看看吧.还有ryn ...
- web开发——入门篇(上)
作为一名IT届的后生,当初也经历过懵懂无知的实习期,对那种无力感深有体会.在这,希望能用我这几年的开发经验,让各位即将踏入或者刚刚踏入web开发领域的新人们少走些弯路.鉴于这是入门篇,下面我就从零为大 ...
- arch 将 普通用户添加到 docker 组
如果还没有 docker group 就添加一个: sudo groupadd docker 如果你想用你的使用者帳戶(非root帳戶)來使用Docker,把你的帳戶加到Docker的群組中 sudo ...
- hive reduce 阶段GC Exception
某个reduce中的value堆积的对象过多,导致jvm频繁GC. 解决办法: 1. 增加reduce个数,set mapred.reduce.tasks=300,. 2. 在hive-site.xm ...
- MOT北京站 | 卓越研发之路:亿万级云端架构演进
随着IT行业技术周期的快速迭代,如何在激烈的市场竞争中突出重围成为了不少技术人的困惑.除了要保持良好的技术视野外,多向IT行业精英学习他们分享的实战经验,也可让技术提升,达到事半功倍的效果. MOT北 ...
- Weex小笔记(自己理解,有错请指正)
在Eros中,做的内容是封装了一些常用的框架,并且优化开发流程为将前端Vue文件打包出资源文件导入项目工程中(本地加载模式,需要注册文件.验证文件),然后原生移动端通过OC写module(功能模块类) ...
- sass基础学习(一)
移动端布局各种问题 pc端布局各种问题sass 组件模块化面向对象编程ajax 框架学习 webpack 打包 性能优化 gulp是基于Nodejs的自动任务运行器她能自动化地完成 javascrip ...
- Python时间、日期、时间戳之间的转换
一.字符串与为时间字符串之间的互相转换 方法:time模块下的strptime方法 a = "2012-11-11 23:40:00" # 字符串转换为时间字符串 import t ...
- 转载的web server实例
asp.net—web server模拟网上购物 2014-05-08 我来说两句 来源:asp.net—web server模拟网上购物 收藏 我要投稿 在学vb的时候学到了a ...