用数组结构存放10个学生各门课的成绩(假设有3 门课的成绩) 。
时间: 2023-05-31 11:07:41 浏览: 41
好的,这是一个关于编程数据结构的问题,我可以回答。可以使用一个二维数组,第一维表示每个学生,第二维表示每门课的成绩。具体实现可以参考以下代码:
int scores[10][3]; // 定义一个 10 行 3 列的二维数组来存放成绩
// 通过循环输入每个学生的成绩
for(int i=0; i<10; i++){
for(int j=0; j<3; j++){
cin >> scores[i][j];
}
}
// 通过循环输出每个学生的成绩
for(int i=0; i<10; i++){
for(int j=0; j<3; j++){
cout << scores[i][j] << " ";
}
cout << endl;
}
相关问题
怎么用二维数组存放n个学生m门课程的成绩
可以使用一个 n 行 m 列的二维数组来存放 n 个学生 m 门课程的成绩。其中,数组的每一行代表一个学生的成绩,每一列代表一门课程的成绩。
例如,可以定义一个二维数组 score,其大小为 n 行 m 列,如下所示:
```
int score[n][m];
```
然后,可以使用嵌套的 for 循环来输入或输出学生成绩。例如,下面的代码片段展示了如何输入 n 个学生 m 门课程的成绩:
```
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << "请输入第 " << i+1 << " 个学生的第 " << j+1 << " 门课程的成绩:";
cin >> score[i][j];
}
}
```
同样地,可以使用嵌套的 for 循环来输出 n 个学生 m 门课程的成绩,例如:
```
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << "第 " << i+1 << " 个学生的第 " << j+1 << " 门课程的成绩为:" << score[i][j] << endl;
}
}
```
用c语言定义数组存放3个学生4门课程的成绩,并用冒泡法升序排列成绩
以下是用C语言定义一个二维数组存储3个学生4门课程成绩,并使用冒泡排序法升序排列成绩的示例代码:
```
#include <stdio.h>
int main() {
float grades[3][4] = { {80.5, 75.0, 92.3, 87.2},
{65.4, 90.1, 88.7, 75.6},
{72.8, 81.2, 77.5, 69.3} };
int i, j, k;
float temp;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3-i; j++) {
for (k = 0; k < 4; k++) {
if (grades[j][k] > grades[j+1][k]) {
temp = grades[j][k];
grades[j][k] = grades[j+1][k];
grades[j+1][k] = temp;
}
}
}
}
printf("升序排列后的成绩为:\n");
for (i = 0; i < 3; i++) {
printf("学生%d:", i+1);
for (j = 0; j < 4; j++) {
printf("%.1f ", grades[i][j]);
}
printf("\n");
}
return 0;
}
```
在上面的代码中,我们首先定义了一个3行4列的二维数组`grades`,用于存放3个学生4门课程的成绩。然后使用三重循环,对成绩进行冒泡排序,最后输出升序排列后的成绩。