C++Primer Plus(第6版)课后编程习题答案(自敲)——第三章

C++ Primer Plus_第6版_第三章

3.7.1

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

#include <iostream>
#include <iomanip>

using namespace std;

/*
编写程序,使用整数输入自己的身高(单位:英寸),
然后将身高转换为英尺和英寸
使用下划线字符来表示输入位置
使用const符号常量来表示转换因子
*/

/*
英尺:feet
英寸:inch
倍数:times
*/

//1 inch = 0.0833 feets
const double times = 0.0833;

int main()
{
    cout << "在这里输入您的身高(单位:英寸):_____\b\b\b\b\b";
    double height = 0;
    cin >> height;
    int feet = height * times;
    double inch = height - feet / times;
    cout << setiosflags(ios::fixed) << setprecision(3);
    cout << "您的身高为:" << feet << "英尺" << inch << "英寸" << endl;
    return 0;
}

3.7.2

编写程序,要求以几英尺几英寸的方式输入其身高,并以磅为单位输入其体重,(使用3个变量来存储这些信息),输出其BMI

#include <iostream>

using namespace std;

const double f_times_inch = 12.0;   //1英尺 = 12英寸
const double i_times_meter = 0.0254;    //1英寸 = 0.0254米
const double k_times_pound = 2.2;   //1千克 = 2.2磅

/*
编写程序,要求输入以几英尺几英寸输入身高
以磅为单位输入体重
输出BMI
计算公式:BMI=kg/(m^2)
*/

int main()
{
    double feet, inch, pound;
    cout << "请输入您的身高:以几英尺几英寸输入" << endl;
    cout << "英尺:";
    cin >> feet;
    cout << "英寸:";
    cin >> inch;
    cout << "您的身高是:"  << feet << "英尺" << inch <<"英寸" << endl;
    cout << "请输入您的体重:以磅为单位输入" << endl;
    cout << "体重:";
    cin >> pound;
    cout << "您的体重是:" << pound << "磅" << endl;
    double m;
    m = (feet * f_times_inch + inch) * i_times_meter;
    double kg;
    kg = pound / k_times_pound;
    cout << "您的BMI是:" << (kg / (m * m)) << endl;
    return 0;
}

3.7.3

编写程序,要求用户以度、分、秒的方式输入一个纬度,然后以度为单位显示该纬度

#include <iostream>
#include <iomanip>

using namespace std;

/*
编写程序,以度、分、秒输入一个纬度
然后以度为单位显示该纬度
*/

const double times = 60.0;

int main()
{
    double degree, minute, second;
    cout << "输入以度、分、秒为单位的一个纬度" << endl;
    cout << "输入度:";
    cin >> degree;
    cout << "输入分:";
    cin >> minute;
    cout << "输入秒:";
    cin >> second;
    cout << degree << "度" << minute << "分" << second << "秒 = ";
    cout << setiosflags(ios::fixed) << setprecision(4);
    cout << (degree + (minute / times) + (second / (times * times))) << "度" << endl;
    return 0;
}

3.7.4

编写程序,要求用户以整数方式输入秒数(使用long long或者long存储),然后以天、小时、分、秒的方式显示。使用符号常量来表示每天有多少个小时,每小时有多少分钟,每分钟有多少秒

#include <iostream>

using namespace std;

/*
编写程序,以整数的方式输入秒数(使用long或者long long存储)
输出该秒数为几天几小时几分钟几秒
*/

const int d_times_hour = 24;    //一天有24小时
const int times = 60;   //小时、分钟、秒的转化都是60

int main()
{
    long long second;
    cout << "输入一个秒数:";
    cin >> second;
    cout << second << "秒 = ";
    int day = second / (times * times * d_times_hour);
    second -= day * (times * times * d_times_hour);
    int hour = second / (times * times);
    second -= hour * (times * times);
    int minute = second / times;
    second -= minute * times;
    cout << day << "天" << hour << "小时" << minute << "分钟" << second << "秒" << endl;
    return 0;
}

3.7.5

编写程序,要求用户输入全球人口和某国家的人口,这些信息存储在long long变量中,显示某国家人口占全球人口的百分比

#include <iostream>
#include <iomanip>

using namespace std;

/*
编写程序,输入全球当前的人口以及某国当前的人口
程序显示某国占全球人口的百分比
*/

int main()
{
    long long p_country;    //国家人口
    long long p_earth;  //全球人口
    cout << "输入全球的人口:";
    cin >> p_earth;
    cout << "输入某国的人口:";
    cin >> p_country;
    cout << setiosflags(ios::fixed) << setprecision(4);
    double times = (double)p_country / (double)p_earth;
    cout << times * 100 << "%" << endl;
    return 0;
}

3.7.6

编写程序,要求用户输入驱车里程(英里)和使用汽油量(加仑),然后指出汽车耗油量为1加仑的里程

#include <iostream>

using namespace std;

/*
编写程序,用户输入驱车里程(单位:英里)和使用的汽油量(单位:加仑)
指出骑车耗油量为1加仑的里程
*/

int main()
{
    double mile;    //英里
    double gallon;  //加仑
    cout << "输入英里数:";
    cin >> mile;
    cout << "输入加仑数:";
    cin >> gallon;
    cout << "平均1加仑能行驶" << mile / gallon << "英里" << endl;
    return 0;
}

3.7.7

编写程序,要求用户按照欧洲风格输入汽车的耗油量(每100公里消耗汽油量(升)),然后将其转换为美国风格的耗油量(每加仑多少英里)

#include <iostream>

using namespace std;

/*
编写程序,输入以欧洲风格的耗油量(每100公里消耗的汽油量(升))
将其转化为美国风格的耗油量(每加仑多少英里)
*/

int main()
{
    double l;  //每100公里消耗的汽油(升)
    cout << "输入100公里消耗的汽油(单位:升)";
    cin >> l;
    double mile = 62.14;
    double gallon = l / 3.875;
    cout << mile / gallon << endl;
    return 0;
}

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逸人止

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值