(1)从键盘上输入某学生4门课程的成绩,输出该学生的总成绩和平均成绩。 (2)将一个实数保留到小数点后2位,对第3位小数按四舍五入处理。例如,若输 入123.45678,则输出为123.46;若输入123.45123,则输出为123.45。
时间: 2024-12-08 22:13:13 浏览: 90
(1) 在C++中,你可以使用`cin`从键盘获取用户的输入,然后遍历这些输入计算总成绩和平均成绩。以下是一个简单的示例程序:
```cpp
#include <iostream>
class Student {
public:
void set_scores(int math, int science, int english, int history) {
total_score = math + science + english + history;
num_courses = 4;
}
double calculate_average() {
return static_cast<double>(total_score) / num_courses;
}
private:
int total_score = 0;
int num_courses = 0;
};
int main() {
Student student;
int score[4];
for (int i = 0; i < 4; ++i) {
std::cout << "Enter score for course " << (i+1) << ": ";
std::cin >> score[i];
}
student.set_scores(score[0], score[1], score[2], score[3]);
double average_score = student.calculate_average();
std::cout << "Total score: " << total_score << std::endl;
std::cout << "Average score: " << average_score << std::endl;
return 0;
}
```
在这个例子中,我们首先定义了一个名为`Student`的类,其中包含私有成员变量`total_score`(用于存储总分)和`num_courses`(表示课程数量)。然后,在`set_scores`方法里设置分数并计算总分,`calculate_average`方法返回平均分。
在`main`函数中,我们创建一个`Student`对象并要求用户依次输入四门课程的成绩,然后调用`set_scores`和`calculate_average`方法。
(2) 对于第二个问题,我们可以使用`std::fixed`和`std::setprecision`来控制浮点数的显示精度。以下是一个函数来实现这个功能:
```cpp
#include <iostream>
#include <iomanip>
double round_to_two_decimal_places(double num) {
return std::fixed << std::setprecision(2) << num;
}
int main() {
double input;
std::cout << "Enter a decimal number: ";
std::cin >> input;
double output = round_to_two_decimal_places(input);
std::cout << "Output: " << output << std::endl;
return 0;
}
```
这里定义了一个`round_to_two_decimal_places`函数,它接受一个双精度数,然后使用`std::fixed`和`std::setprecision`将其格式化为两位小数。在主函数中,读取用户输入并输出处理后的结果。
阅读全文