课后作业

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 来表示 π 的近似值。
    • 定义了两个变量 radiusarea,其中 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_headsrabbit_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;
}
  • 解析 此题主要考核对于自增自减的认识

  • 参考答案 请参考自增示例

上次更新: 2024-10-19 10:01:51