标签:nbsp 程序 百分比 输入 prim std ima ++ ongl
1 . 编写一个小程序,要求用户使用一个整数输出自己的身高(单位为厘米),然后将身高转换为米和厘米。该程序使用下划线字符来指示输入位置。另外,使用一个 const 符号常量来表示转换因子。
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 const int n = 100; //转换因子 7 int high; 8 cout << "Enter your height(cm):_____\b\b\b\b"; 9 cin >> high; 10 cout <<"Your height is: "<< high / n << "m"; 11 cout << high%n << "cm"<<endl; 12 while (1); 13 return 0; 14 }
注意:使用下划线来指示输入位置主要利用转义字符\b,\b的含义是,将光标从当前位置向前(左)移动一个字符(遇到\n或\r则停止移动),并从此位置开始输出后面的字符(空字符\0和换行符\n除外)。
2.编写一个小程序,要求以几英尺几英寸的方式输入其身高,并以磅为单位输入其体重。(使用三个变量来存储这些信息。)该程序报告其BMI(Body Mass Index,体重指数)。为了计算BMI,该程序以英寸的方式指出用户的身高(1英尺为12英寸),并将以英寸为单位的身高转换为以米为单位的身高(1英寸=0.0254米)。然后,将以磅为单位的体重转换为以千克为单位的体重(1千克=2.2磅)。最后,计算相应的BMI——体重(千克)除以身高(米)的平方。用符号常量表示这种转换因子。
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 const int FootTOInch = 12; //1英尺等于12英寸 7 const double InchToMeter = 0.0254; //1英寸等于0.0254米 8 const double KgToPound = 2.2; //1千克等于2.2磅 9 int f, i; 10 double height, weight, bmi; 11 cout << "Enter height in feet(英尺) and inches(英寸): "<<endl; 12 cout << "Enter feet part: "; 13 cin >> f; 14 cout << "Enter inches part: "; 15 cin >> i; 16 cout << "Enter weight in pounds: "; 17 cin >> weight; 18 height = (f*FootTOInch + i)*InchToMeter; 19 weight = weight / KgToPound; 20 bmi = weight / (height*height); 21 cout << "Your height is " << height << "m" << endl; 22 cout << "Your weight is " << weight << "kg" << endl; 23 cout << "Your BMI is: " << bmi << endl; 24 while (1); 25 return 0; 26 }
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 int main() 5 { 6 const int n = 60; 7 double degree,minute,second,result; 8 cout << "Enter a latitude in degrees,minutes,and seconds: "<<endl; 9 cout << "First,enter the degrees: "; 10 cin >> degree; 11 cout << "Next,enter the minutes of arc: "; 12 cin >> minute; 13 cout << "Finally,enter the seconds of arc: "; 14 cin >> second; 15 result = degree + (minute + second / n) / n; 16 cout << degree << " degrees," << minute << " minutes," << second << " seconds= " << result << " degrees" << endl; 17 while (1); 18 return 0; 19 }
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 int main() 5 { 6 const int n1 = 24; 7 const int n2 = 60; 8 long second; 9 int day, hour, minute, seconds; 10 cout << "Enter the number of seconds: "; 11 cin >> second; 12 day = second / (n1*n2*n2); 13 hour = (second % (n1*n2*n2)) / (n2*n2); 14 minute = ((second % (n1*n2*n2)) % (n2*n2)) / n2; 15 seconds = ((second % (n1*n2*n2)) % (n2*n2)) % n2; 16 cout << second << " seconds = " << day << " days, " << hour << " hours, " << minute << " minutes, " << seconds << " seconds"; 17 while (1); 18 return 0; 19 }
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 int main() 5 { 6 long long all, usa; 7 double rate; 8 cout << "Enter the world‘s population: "; 9 cin >> all; 10 cout << "Enter the population of the US: "; 11 cin >> usa; 12 rate = usa *1.0 / all * 100; 13 cout << "The population of the US is " << rate << "% of the world population."; 14 while (1); 15 return 0; 16 }
注:两个long类型或long long 类型的数值相除,结果会自动取整。 解决:在做除的操作时,被除数先乘以1.0转为浮点数再去除以除数,这样得到的结果就是小数。
6.编写一个程序,要求用户输入驱车里程(英里)和使用汽油量(加仑),然后指出汽车耗油量为一加仑的里程。如果愿意,也可以让程序要求用户以公里为单位输入距离,并以升为单位输入汽油量,然后指出欧洲风格的结果 —— 即 每 100 公里的耗油量(升)。
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 double mile, gallon, km, liter; 7 cout << "请输入驱车里程(英里):"; 8 cin >> mile; 9 cout << "请输入耗油量(加仑):"; 10 cin >> gallon; 11 km = mile*1.609344; 12 liter = gallon*3.7854118; 13 cout << "汽车耗油量为:一加仑里程" << mile / gallon << "英里,即每100公里的耗油量" << liter / km * 100 << "升。" << endl; 14 while (1); 15 return 0; 16 }
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 int main() 5 { 6 double uk, us,gallon, km, liter; 7 cout << "请输入汽车耗油量(升/100公里):"; 8 cin >> uk; 9 us = 3.875*62.14 / uk; 10 cout << "汽车耗油量为:每加仑" << us << "英里" << endl; 11 while (1); 12 return 0; 13 }
[C++ Primer Plus] 第3章、处理数据——课后习题
标签:nbsp 程序 百分比 输入 prim std ima ++ ongl
原文地址:https://www.cnblogs.com/Fionaaa/p/12257919.html