c++输入只有一行,该行中有3个由空格分隔的整数,分别表示学生的三门课成绩。结果保留一位小数
时间: 2024-10-01 21:06:17 浏览: 32
在C++中,如果你想要从用户输入的一行数据中获取三个以空格分隔的整数,并将它们转换为浮点数以便结果保留一位小数,你可以使用`std::cin`和`std::stof`函数。这里是一个简单的示例:
```cpp
#include <iostream>
#include <iomanip> // 需要这个头文件来设置小数位
int main() {
int score1, score2, score3;
std::cout << "请输入学生的三门课成绩(以空格分隔):" << std::endl; // 提示用户输入
// 使用scanf或者std::getline先获取一行字符串,然后用空格分割
// 由于题目要求输入的是整数,所以可以直接使用std::cin
if (std::cin >> score1 >> score2 >> score3) { // 如果输入成功
// 将每个整数转换为float并保留一位小数
float result1 = static_cast<float>(score1);
float result2 = static_cast<float>(score2);
float result3 = static_cast<float>(score3);
// 输出结果,注意使用setprecision(1)设置小数位
std::cout << std::fixed << std::setprecision(1) << "总平均成绩:(" << result1 << ", " << result2 << ", " << result3 << ") -> " << (result1 + result2 + result3) / 3.0 << std::endl;
} else { // 输入失败处理
std::cerr << "错误:无法读取有效输入!" << std::endl;
}
return 0;
}
```
在这个程序中,用户需要依次输入三个整数,程序会计算并显示它们的平均成绩,保留一位小数。
阅读全文