3.1
#include<stdafx.h>
#include <iostream>
using namespace std;
const int inch_per_feet = 12;//一英尺(inch)等于12英寸(feet)
int main()
{
int height,heigh_inch,heigh_feet;
cout << "enter your height in inch=____\b\b\b\b ";//\b表示退格,与下划线个数相同,用于指示输入位置
cin >> height;
heigh_inch = height / inch_per_feet;
heigh_feet = height % inch_per_feet;
cout << "your height is " << heigh_inch << " inch " << heigh_feet << " feet\n";
return 0;
}
3.2
#include<stdafx.h>
#include <iostream>
using namespace std;
const int inch_per_feet = 12;//一英尺(inch)等于12英寸(feet)
const double feet_per_m = 0.0254;//一英寸等于0.0254米,注意由于后面定义的变量为double类型,这里声明也要用double
const double kg_per_pound = 2.2;
int main()
{
int height_inch, height_feet, weight_pound;//分别表示身高的英尺英寸和体重磅,以整数表示
double height_m,weight_kg,BMI;//身高米与体重kg以及BMI值都可能为小数,用double类型的变量,注意与前声明类型保持一致
//身高体重的输入
cout << "enter your heigh in inch:___\b\b";
cin >> height_inch;
cout << "enter your heigh in feet:___\b\b";
cin >> height_feet;
cout << "enter your weight in pound:___\b\b";
cin >> weight_pound;
//身高米、体重kg单位的转换
height_m = (height_inch*inch_per_feet + height_inch)*feet_per_m;
weight_kg = kg_per_pound * weight_pound;
//BMI值计算
BMI = weight_kg / (height_m*height_m);//注意这里的平方不能用^2表示
cout << "your BMI is " << BMI << endl;
return 0;
}
3.3
#include<stdafx.h>
#include <iostream>
using namespace std;
const int degree_per_minutes = 60;
const int degree_per_second = 60*60;
int main()
{
double degree, minute, second;
double latitude;
cout << "enter a latitude in dgree,minutes,and seconds:\n";
cout << "First,enter the degrees: ";
cin >> degree;
cout << "Next,enter the minutes of arc: ";
cin >> minute;
cout << "Finally,enter the second of arc: ";
cin >> second;
latitude = degree + minute / degree_per_minutes + second / degree_per_second;//转换因子与变量至少要有一个为浮点型,否则这个计算结果将会舍去小数部分,导致计算不正确
cout << degree << "degrees, " << minute << " minutes," << second << " seconds= " << latitude << " degree\n";
return 0;
}
3.4
#include<stdafx.h>
#include <iostream>
using namespace std;
const int day_per_hour = 12;
const int hour_per_minute = 60;
const int minute_per_second = 60;
int main()
{
long second_origi;//用于输入秒数
int day,se_or_d,hour,se_or_h, minute, second;//均定义为int,用于舍去小数
cout << "enter the number of seconds: ";
cin >> second_origi;
day = second_origi / (minute_per_second*hour_per_minute*day_per_hour);
se_or_d = second_origi - day * (minute_per_second*hour_per_minute*day_per_hour);//存放原始秒数减去天所占秒数的值,方便计算小时
hour= se_or_d / (minute_per_second*hour_per_minute);
se_or_h = se_or_d - hour * hour_per_minute*minute_per_second;//存放剩余秒数
minute = se_or_h / minute_per_second;
second = se_or_h - minute * minute_per_second;
cout << second_origi << " seconds is " << day << "days, "<<hour<<" hours, "<<minute<<" minutes, "<<second<<" seconds\n";
return 0;
}
3.5
#include<stdafx.h>
#include <iostream>
using namespace std;
int main()
{
long long A_p, W_p;
double rate;
cout << "enter the world's population: ";
cin >> W_p;
cout << "enter the population of the US: ";
cin >> A_p;
rate = double (A_p) / W_p * 100;//由于用long long 存储的变量,必须至少将两个变量中的一个转化为浮点型数据,否则求出的比率为0,舍去小数
cout << "The population of the US is " << rate << "% of the world population";
return 0;
}
3.6
#include<stdafx.h>
#include <iostream>
using namespace std;
int main()
{
double distance, A_g, oil_con;//汽油量可能为小数,变量定义为double类型
cout << "enter the distance in kilometer: ";
cin >> distance;
cout <<"enter the amount of gasoline in litre: ";
cin >> A_g;
oil_con = A_g/ distance * 100;
cout << "the oil consumption per 100 kilometers is " << oil_con;
return 0;
}
3.7
#include<stdafx.h>
#include <iostream>
using namespace std;
const double kilo_100_mile = 62.14;
const double gallon_per_L = 3.875;
int main()
{
double con_in_Eur,con_in_US;
cout << "enter the oil consumption in Europe method/100km: ";
cin >> con_in_Eur;
con_in_US =kilo_100_mile/con_in_Eur*gallon_per_L;//直接将欧洲风格的耗油量转换为美国风格的
cout << "the oil consumption in America style is " << con_in_US << "mpg";
return 0;
}