c++4.(程序题,12.0分) 输入某位学生的数学、英语和计算机课程的成绩(成绩为整数,输入以逗号分隔) 输出该生3门课程的平均成绩(结果保留1位小数)。 样例输入:88,85,93 样例输出:88.7 C/C++
时间: 2024-12-15 15:26:07 浏览: 3
在C++中,你可以通过使用标准库中的`std::cin`读取用户输入,`std::stringstream`处理字符串作为输入,然后计算平均成绩并使用`std::cout`输出结果。下面是一个简单的示例代码:
```cpp
#include <iostream>
#include <sstream>
#include <iomanip>
double calculate_average(const std::string& input) {
std::istringstream iss(input);
double total = 0;
int count = 0;
char separator;
while (iss >> std::noskipws >> total >> separator && separator == ',') {
total /= 100; // 将百分制转换为小数
count++;
}
if (count != 3) {
std::cerr << "Invalid input! Please enter three scores separated by commas." << std::endl;
return 0;
}
return static_cast<double>(total) / count;
}
int main() {
std::string student_scores;
std::cout << "Enter the student's scores (separated by commas): ";
std::getline(std::cin, student_scores);
double average = calculate_average(student_scores);
if (average > 0) {
std::cout << fixed << setprecision(1) << "Average score: " << average << std::endl;
}
return 0;
}
```
在这个程序中,首先提示用户输入分数,然后调用`calculate_average`函数处理输入字符串并计算平均值。注意,我们还需要检查输入是否包含三个有效的数字,并对每个输入的分数从百分比转换为小数。
阅读全文