[C++ Primer Plus] 3、处理数据(二)课后习题

1 . 编写一个小程序,要求用户使用一个整数输出自己的身高(单位为厘米),然后将身高转换为米和厘米。该程序使用下划线字符来指示输入位置。另外,使用一个 const 符号常量来表示转换因子。

 1 #include<iostream>
 2 using namespace std;
 3
 4 void main(){
 5     const int change=100;//转换因子
 6     cout<<"请输入您的身高(单位为厘米):___\b\b\b";
 7     int height,meter,cm;
 8     cin>>height;
 9     meter=height/change;
10     cm=height%change;
11     cout<<"您的身高为"<<meter<<"米"<<cm<<"公分(厘米)"<<endl;
12     system("pause");
13 }

注意:使用下划线来指示输入位置主要利用转义字符\b

2.编写一个小程序,要求以几英尺几英寸的方式输入其身高,并以磅为单位输入其体重。(使用三个变量来存储这些信息。)该程序报告其BMI(Body Mass Index,体重指数)。为了计算BMI,该程序以英寸的方式指出用户的身高(1英尺为12英寸),并将以英寸为单位的身高转换为以米为单位的身高(1英寸=0.0254米)。然后,将以磅为单位的体重转换为以千克为单位的体重(1千克=2.2磅)。最后,计算相应的BMI-体重(千克)初一身高(米)的平方。用符号常量表示这种转换因子。

 1 #include<iostream>
 2 using namespace std;
 3
 4 void main(){
 5     const int FootToInch=12;//1英尺等于12英寸
 6     const double  InchToMeter=0.0254;//1英寸=0.0254米
 7     const double  PoundToKg=1/2.2;
 8     int foot,inch,pound;
 9     double meter,kg,BMI;
10     cout<<"请以几英尺几英寸的方式输入您的身高。\n";
11     cout<<"请输入英尺的值:";
12     cin>>foot;
13     cout<<"请输入英寸的值:";
14     cin>>inch;
15     cout<<"请输入您的体重(磅):";
16     cin>>pound;
17     meter=foot*FootToInch*InchToMeter;
18     kg=pound*PoundToKg;
19     BMI=kg/meter/meter;
20     cout<<"您的身高为"<<meter<<"米,您的体重为"<<kg<<"千克,您的BMI为"<<BMI<<endl;
21     system("pause");
22 }

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

 1 #include<iostream>
 2 using namespace std;
 3
 4 void main(){
 5     const int rate=60;
 6     double degree,minute,second,result;
 7     cout<<"Enter a latitude in degrees, minutes, and seconds:"<<endl;
 8     cout<<"First, enter the degrees: ";
 9     cin>>degree;
10     cout<<"Next, enter the minutes of arc:";
11     cin>>minute;
12     cout<<"Finally, enter the seconds of arc:";
13     cin>>second;
14     result=(second/change+minute)/change+degree;
15     cout<<degree<<" degrees,"<<minute<<" minutes,"<<second<<" seconds="<<result<<endl;
16     system("pause");
17 }

4.编写一个程序,要求用户以整数方式输入秒数(使用long或者longlong变量存储),然后以天、小时、分钟和秒的方式显示这段时间。使用符号常量来表示每天有多少小时。该程序的输出应与下面类似:
Enter the number of seconds: 31600000
31600000 seconds = 365 days, 17 hours, 46 minutes, 40 seconds

 1 #include<iostream>
 2 using namespace std;
 3
 4 void main(){
 5     const int rate1=24;
 6     const int rate2=60;
 7     long secondTotal,minuteTotal;
 8     int day,hour,minute,second;
 9     cout<<"Enter the number of seconds:";
10     cin>>secondTotal;
11     minuteTotal=secondTotal/60;
12     second=secondTotal%60;
13     minute=minuteTotal%60;
14     hour=minuteTotal/60%24;
15     day=minuteTotal/60/24;
16     cout<<secondTotal<<" seconds="<<day<<" days,"<<hour<<" hours,"<<minute<<" minutes,"<<second<<" seconds"<<endl;
17     system("pause");
18 }

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.

 1 #include<iostream>
 2 using namespace std;
 3
 4 void main(){
 5     long long People_world,People_US;
 6     double rate;
 7     cout<<"Enter the world‘s population:";
 8     cin>>People_world;
 9     cout<<"Enter the population of the US:";
10     cin>>People_US;
11     rate=People_US*1.0/People_world;
12     cout<<"The population of the US is "<<rate*100<<"% of the world population."<<endl;
13     system("pause");
14 }

注意:11行代码需要乘以1.0转成浮点数

6.编写一个程序,要求用户输入驱车里程(英里)和使用汽油量(加仑),然后指出汽车耗油量为一加仑的里程。如果愿意,也可以让程序要求用户以公里为单位输入距离,并以升为单位输入汽油量,然后指出欧洲风格的结果 — — 即 每 100 公里的耗油量(升)。

 1 #include<iostream>
 2 using namespace std;
 3
 4 void main(){
 5     double mile,gallon,km,liter;
 6     cout<<"请输入驱车里程(英里):";
 7     cin>>mile;
 8     cout<<"请输入耗油量(加仑):";
 9     cin>>gallon;
10     km=mile*1.609344;
11     liter=gallon*3.875;
12     cout<<"汽车耗油量为:一加仑里程"<<mile/gallon<<"英里,即每100公里的耗油量"<<liter/km*100<<"升。"<<endl;
13     system("pause");
14 }

7.编写一个程序,要求用户按欧洲风格输入汽车的耗油量(每100公里消耗的汽油量(升)),然后将其转换为美国风格的耗油量——每加仑多少英里。注意,除了使用不同的单位计量外,美国方法(距离/燃料)与欧洲方法(燃料/距离)相反。100公里等于62.14英里,1加仑等于3.875升。因此19mpg大约合12.4L/100km,27mpg大约合8.7L/100km。

 1 #include<iostream>
 2 using namespace std;
 3
 4 void main(){
 5     double US,Europe;
 6     cout<<"请输入耗油量(每100公里消耗的汽油量(升)):";
 7     cin>>Europe;
 8     US=62.14/(Europe/3.875);
 9     cout<<"汽车耗油量为:每加仑"<<US<<"英里"<<endl;
10     system("pause");
11 }

时间: 2024-10-11 17:06:01

[C++ Primer Plus] 3、处理数据(二)课后习题的相关文章

機器學習基石(Machine Learning Foundations) 机器学习基石 作业二 课后习题解答

大家好,我是Mac Jiang,首先祝贺大家清明节快乐!作为一名苦逼的程序员,博主只能窝在实验室玩玩游戏,顺便趁着大早上没人发一篇微博.不过还是祝各位出行的兄弟玩的开心! 今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业二的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博

大数据基础--R语言(刘鹏《大数据》课后习题答案)

1.R语言是解释性语言还是编译性语言?   解释性语言 2.简述R语言的基本功能.   R语言是一套完整的数据处理.计算和制图软件系统,主要包括以下功能: (1)数据存储和处理功能,丰富的数据读取与存储能力,丰富的数据处理功能. (2)数组运算工具 (3)完整连贯的统计分析工具 (4)优秀的统计制图功能 3.R语言通常用在哪些领域?   人工智能.统计分析.应用数学.计量经济.金融分析.财经分析.生物信息学.数据可视化与数据挖掘等. 4.R语言常用的分类和预测算法有哪些?   (1)K-近邻算法

C++ Primer(第四版) 课后习题7.12

问题:什么时候使用指针形参?什么时候使用引用形参?解释两者的优点和缺点. 回答:参数以引用参数传递和以指针形式传递效果相同,程序员能够修改调用函数中的数据对象,参数传递过程中防止拷贝对象,可以提高运行速度. 1.何时使用引用参数和指针形参: (1)对于使用传递的值而不做修改的函数:  如果数据对象很小,如内置数据对象,则按值传递  如果数据对象是数组,则使用指针,并将指针声明为指向const的指针  如果数据对象是较大的结构则使用const指针或const引用,以提高效率,节省复制结构所需的时间

大数据基础--大数据商业应用(刘鹏《大数据》课后习题答案)

1.简述对用户画像的认识. 用户画像,即用户信息的标签化,是企业通过收集.分析用户数据后,抽象出的一个虚拟用户,可以认为是真实用户的虚拟代表. 2.简述构建用户画像的主要流程. 基础数据收集->行为建模->构建画像                                           3.个性化推荐系统的性能可以通过哪些标准来判定? 用户满意度  覆盖率  预测准确度  冷启动问题  过度推荐热门问题  个性化推荐 4.简述对广告点击率计算公式的理解. 指广告展示中被用户点击打开

大数据基础--大数据可视化(刘鹏《大数据》课后习题答案)

1.数据可视化有哪些基本特征? (1)易懂性,可视化可以使碎片化的数据转换成具有特定结构的知识,从而为决策支持提供帮助. (2)必然性,大数据所产生的数据量必然要求人们对数据进行归纳总结,对数据的结构和形式进行转换处理. (3)片面性,数据可视化的片面性特征要求可视化模式不能替代数据本身,只能作为数据表达的一种特定形式. (4)专业性,专业化特征是人们从可视化模型中提取专业知识的环节,它是数据可视化应用的最后流程. 2.简述可视化技术支持计算机辅助数据认识的3个基本阶段. (1)数据表达,数据表

C++ Primer(第四版) 课后习题7.28 静态变量

问题:编写函数,使其在第一次调用时返回0,然后再次调用时按顺序产生正整数(即返回其当前的调用次数). 代码: 1 #include <iostream> 2 3 using namespace std; 4 int count_calls() 5 { 6 static int i = 0; 7 return i++; 8 } 9 int main() 10 { 11 for (int i=0;i<10;i++) 12 { 13 cout<<count_calls()<&

C++ Primer(第四版) 课后习题7.15 main函数传参

问题:编写一个主函数main,使用两个值作为实参,并输出它们的和. 代码: #include <iostream> #include <stream> using namespace std; //计算两个数的和 int main(int argc, char **argv) { string strName = argv[0]; int a = stoi(argv[1]); int b = stoi(argv[2]); cout<<strName<<&qu

C++ Primer(第四版) 课后习题3.14

问题: 读入一段文本到 vector 对象,每个单词存储为 vector  中的一个元素.把 vector对象中 每个单词转化为大写字母.输出 vector 对象中转化 后的元素,每 8 个词为一行输出. 代码: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 int main() 7 { 8 cout<<"输入一段文本(Ctrl + Z 结束):"<

C++ Primer(第四版) 课后习题6.8

问题: 修改元音统计程序可使其统计读入的空格.制表符和换行的个数 代码: #include <iostream> using namespace std; int main() { char ch; string str; int aCnt = 0, eCnt = 0, iCnt = 0, oCnt = 0, uCnt = 0, spaceCnt = 0; int brCnt = 0, tabCnt = 0; while (cin.get(ch)) { switch (ch) { case '

C++ Primer (第四版)课后习题9.26 删除容器元素

习题9.26:假设有如下ia的定义,将ia复制到一个vector容器和一个list容器中.使用单个迭代器参数版本的erase函数将list容器的奇数值 元素删除掉,然后将vector容器中的偶数值删除掉. 代码: #include <iostream> #include <vector> #include <list> #include <string> using namespace std; int main(int argc, char **argv)