课后作业
chao_smile 2023/11/4
# 第三课
# 1. 设计一个程序,用户输入一个圆的半径,然后使用赋值语句计算并存储圆的面积(面积 = π
*
半径 *
半径),最后输出面积。请在程序中定义一个常量来表示 π
的近似值(例如,3.14)。
// 输出示例:
// 输入请使用 cin
请输入半径:5
面积:78.5
- 你的答案
#include <iostream>
using namespace std;
int main(){
float a = 3.14, b;
cin >> b;
cout <<"面积是:"<<a*b*b<<endl;
return 0;
}
- 解析
- 首先引入
<iostream>
头文件以使用输入和输出功能。 - 使用
const double
声明了一个常量pi
来表示 π 的近似值。 - 定义了两个变量
radius
和area
,其中radius
用于存储用户输入的半径,area
用于存储计算得到的面积。 - 用户被提示输入半径,并将其存储在
radius
变量中。 - 面积计算使用了公式
area = pi * radius * radius
。 - 最后,程序输出面积。
- 首先引入
- 参考答案
#include <iostream>
using namespace std;
int main() {
const double pi = 3.14;
double radius, area;
cout << "请输入半径:";
cin >> radius;
area = pi * radius * radius;
cout << "面积:" << area << endl;
return 0;
}
# 2. 设计一个程序,用户输入一个时间(以小时为单位),然后使用赋值语句将其转换为分钟(1 小时 = 60 分钟),并输出转换后的分钟数。
// 输出示例:
// 输入请使用 cin
请输入小时:2.5
对应分钟:150
- 你的答案
#include <iostream>
using namespace std;
int main(){
float h;
cin >> h ;
cout << h * 60<<endl;
return 0;
}
解析
- 这个程序与第一个程序类似,但不使用常量。
- 用户被提示输入小时数,并将其存储在
hours
变量中。 - 分钟数计算使用了公式
minutes = hours * 60
。 - 最后,程序输出转换后的分钟数。
参考答案
#include <iostream>
using namespace std;
int main() {
double hours, minutes;
cout << "请输入小时:";
cin >> hours;
minutes = hours * 60;
cout << "对应分钟:" << minutes << endl;
return 0;
}
# 3. 数学中经典的“鸡兔同笼”问题,已知头共 30 个,脚共 90 只,问笼中的鸡和兔各有多少只?鸡:1 头 2 脚,兔:1 头 4 脚。请使用方程式计算,要有计算过程。
// 输出示例:
鸡的数量:15
兔的数量:15
- 你的答案
#include<iostream>
using namespace std;
int main(){
int n = 30,m = 90;
int sum=(m-n*2)/2,nam=n-sum;//利用公式
cout<<nam<<" "<<sum;
}
解析
- 这个程序首先定义了总头数和总脚数,分别初始化为 30 和 90。
- 使用两个变量
chicken_heads
和rabbit_heads
分别表示鸡和兔的头数。 - 根据问题描述,兔头数与鸡头数加在一起是总头数,鸡两只脚,兔四只脚,配合头数加在一起是总脚数。
- 得出一个线性方程组,使用代数的方法来计算鸡和兔的数量。鸡和兔的数量应该满足以下两个条件:
头的总数量:chicken_heads + rabbit_heads = 30
脚的总数量:2 * chicken_heads + 4 * rabbit_heads = 90
- 合并后导出
(total_feet - 2 * total_heads) / 2
计算兔的头数或(4 * total_heads - total_feet) / 2
计算鸡的头数。 - 最后,程序输出鸡和兔的数量。
参考答案
#include <iostream>
using namespace std;
int main() {
int total_heads = 30;
int total_feet = 90;
int chicken_count, rabbit_count;
// 使用方程式计算鸡和兔的数量
// 鸡的头数是 x,兔的头数是 y
// 鸡的头数 + 兔的头数 = 总头数
// x + y = 30
// 鸡的脚数是 2x,兔的脚数是 4y
// 鸡的脚数 + 兔的脚数 = 总脚数
// 2x + 4y = 90
// 使用第二个方程解出 y(兔的数量)
rabbit_count = (total_feet - 2 * total_heads) / 2;
// 使用第一个方程解出 x(鸡的数量)
chicken_count = total_heads - rabbit_count;
cout << "鸡的数量:" << chicken_count << endl;
cout << "兔的数量:" << rabbit_count << endl;
return 0;
}
# 4. 请编写一个 C++程序,将给定的华氏温度(Fahrenheit)转换为摄氏温度(Celsius),并输出结果。你可以使用以下公式进行转换:Celsius = 5 * (Fahrenheit - 32) / 9
// 输出示例:
// 输入请使用 cin
请输入华氏温度:6
摄氏温度:-14.4444
- 你的答案
#include<iostream>
using namespace std;
int main(){
float c , f ;
cin >> f;
cout << 5*(f-32) / 9<<endl;
return 0;
}
解析
- 这个程序与前两个程序类似,但是用来转换温度。
- 用户被提示输入华氏温度,并将其存储在
fahrenheit
变量中。 - 摄氏温度计算使用了公式
celsius = 5 * (fahrenheit - 32) / 9
。 - 最后,程序输出转换后的摄氏温度。
参考答案
#include <iostream>
using namespace std;
int main() {
double fahrenheit, celsius;
cout << "请输入华氏温度:";
cin >> fahrenheit;
celsius = 5 * (fahrenheit - 32) / 9;
cout << "摄氏温度:" << celsius << endl;
return 0;
}
# 5. 创建一个整数变量,将其初始化为 10。使用自减运算符对该变量执行多次操作,然后每一次变量变化时进行一次输出打印或记录。
- 本题输出示例随机,要求输出自减运算符在表达式中特点,可参考自增示例
// 举例输出自减运算符不在表达式中的情况
// 举例输出自减运算符在表达式中位置在前的情况
// 举例输出自减运算符在表达式中位置在后的情况
- 你的答案
#include <iostream>
using namespace std;
int main(){
int a = 10,c = a;
c--;
cout <<"单独--:"<<c<<"\n";
c = a;
cout <<"表达式cout:"<<c--<<"\n";
cout <<"完成操作:"<<c<<"\n";
c = a;
cout <<"表达式--在后面:"<<--c<<"\n";
return 0;
}
解析 此题主要考核对于自增自减的认识
参考答案 请参考自增示例