c++ 第一行为一个正整数 n,分别表示班里的人数 第二行为 n 个小数,每个数表示一个学生的成绩
时间: 2024-01-22 19:18:53 浏览: 86
好的,让我来写一个示例代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n; // 输入班里的人数
vector<double> scores(n); // 定义一个长度为 n 的 double 类型的动态数组 scores
for (int i = 0; i < n; i++) {
cin >> scores[i]; // 输入每个学生的成绩
}
// 输出每个学生的成绩
for (int i = 0; i < n; i++) {
cout << "学生" << i+1 << "的成绩为:" << scores[i] << endl;
}
return 0;
}
```
以上代码中,我们使用了 `vector` 来存储学生成绩,`vector` 可以动态调整大小,非常方便。首先输入班里的人数,然后定义一个长度为 `n` 的 `scores` 数组,接着使用 `for` 循环输入每个学生的成绩。最后再使用 `for` 循环输出每个学生的成绩。
相关问题
c++ 计算成绩平均值 第一行为一个正整数 n,分别表示班里的人数 第二行为 n 个小数,每个数表示一个学生的成绩
以下是一个简单的 C++ 程序,用于计算 n 个学生的成绩平均值:
```c++
#include <iostream>
using namespace std;
int main()
{
int n;
double sum = 0, score;
cout << "请输入班里的人数:";
cin >> n;
for (int i = 0; i < n; i++)
{
cout << "请输入第 " << i + 1 << " 个学生的成绩:";
cin >> score;
sum += score;
}
double average = sum / n;
cout << "平均成绩为:" << average << endl;
return 0;
}
```
在上面的程序中,我们使用了一个 for 循环来读取 n 个学生的成绩,并计算它们的总和。最后,我们将总和除以 n,得到平均成绩,并输出结果。
C++输入2行,第1行为一个正整数n,第2行包含n个正整数,输出正整数n的平均值无小数
解法一:
可以先将所有输入的正整数累加起来,然后除以输入的正整数个数,再将结果取整即可。
示例代码:
#include <stdio.h>
int main() {
int n, sum = 0, i;
scanf("%d", &n);
for (i = 0; i < n; i++) {
int x;
scanf("%d", &x);
sum += x;
}
int avg = sum / n;
printf("%d", avg);
return 0;
}
解法二:
可以利用整数除法的特性,将正整数累加后再整除输入的正整数个数,这样就可以得到平均值的整数部分。
示例代码:
#include <stdio.h>
int main() {
int n, sum = 0, i;
scanf("%d", &n);
for (i = 0; i < n; i++) {
int x;
scanf("%d", &x);
sum += x;
}
int avg = sum / n;
printf("%d", avg);
return 0;
}