用c++计算平均成绩并保留小数点后两位输出
时间: 2023-09-28 16:13:11 浏览: 139
好的,下面是一个计算平均成绩并保留小数点后两位输出的C++程序示例:
```c++
#include <iostream>
#include <iomanip> // 头文件,用于控制输出格式
using namespace std;
int main()
{
int num; // 成绩数量
float score, sum = 0, average; // 成绩、总分、平均分
cout << "请输入成绩数量:";
cin >> num;
for (int i = 1; i <= num; i++) {
cout << "请输入第" << i << "个成绩:";
cin >> score;
sum += score;
}
average = sum / num; // 计算平均分
// 输出平均分,保留小数点后两位
cout << fixed << setprecision(2) << "平均成绩为:" << average << endl;
return 0;
}
```
上面的程序中,使用了 `iomanip` 头文件中的 `fixed` 和 `setprecision()` 方法来控制输出格式,保留小数点后两位。
相关问题
用c++编写 问题描述】计算平均成绩。已知某同学的三门课程:语文、数学及英语的成绩,编程求其平均成绩。三门课程成绩由键盘输入。平均成绩保留小数点后两位。 【输入形式】输入三门课程的成绩,中间用空白字符隔开。 【输出形式】三门课程的平均成绩。单独占一行。
在C++中,你可以使用`cin`从用户那里获取输入,然后通过`std::stringstream`处理字符串,转换成绩到浮点数,最后计算并输出平均成绩。以下是相应的代码示例:
```cpp
#include <iostream>
#include <sstream>
int main() {
double score1, score2, score3;
std::string input;
// 输入三门课程的成绩
std::cout << "请输入语文、数学和英语的成绩,中间用空格分隔:" << std::endl;
getline(std::cin, input);
// 使用 stringstream 转换输入字符串
std::istringstream iss(input);
iss >> score1 >> score2 >> score3;
// 计算平均成绩并保留两位小数
double average = (score1 + score2 + score3) / 3.0;
average = std::fixed; // 设置输出固定小数位数
average *= 100; // 因为要保留两位小数,所以乘100后再取整
average /= 100; // 再除以100恢复原值
// 输出结果
std::cout << "三门课程的平均成绩: " << average << std::endl;
return 0;
}
```
编成求从键盘输入一个学生的n门成绩,计算出该学生的总成绩和平均成绩。 输入:第一行输入一个整数n,第二行输入n个整数 输出:总成绩和平均成绩,其中平均成绩保留小数点后两位
以下是使用 C++ 编写的代码实现:
```cpp
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n, score, sum = 0;
double avg;
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> score;
sum += score;
}
avg = (double)sum / n;
cout << "总成绩:" << sum << endl;
cout << "平均成绩:" << fixed << setprecision(2) << avg << endl;
return 0;
}
```
代码说明:
- 第 5 行,定义变量 `n` 表示成绩数量,变量 `score` 表示每门成绩,变量 `sum` 表示总成绩,变量 `avg` 表示平均成绩。
- 第 7 行,从键盘输入成绩数量 `n`。
- 第 8 行至第 11 行,使用循环逐个输入每门成绩,并将其累加到总成绩 `sum` 中。
- 第 12 行,计算平均成绩 `avg`,需要将 `sum` 强制转换成 `double` 类型,否则计算结果将会是一个整数。
- 第 13 行和第 14 行,分别输出总成绩和平均成绩,其中使用 `fixed` 和 `setprecision` 控制输出小数点后两位。
使用样例:
```
输入:
5
80 90 70 85 95
输出:
总成绩:420
平均成绩:84.00
```
阅读全文