c语言二维数组 输入10个学生语数英3门课的成绩,求出每个学生的平均成绩放在数组中,按照语数英、平均成绩的顺序输出,每个同学的成绩占一行。
时间: 2023-06-14 22:07:27 浏览: 628
以下是实现该功能的 C 语言代码:
```c
#include <stdio.h>
int main() {
int scores[10][3]; // 二维数组存储10个学生的语数英成绩
float averages[10]; // 存储每个学生的平均成绩
// 输入10个学生的成绩
for(int i = 0; i < 10; i++) {
printf("请输入第%d个学生的语数英成绩(用空格隔开):", i+1);
scanf("%d %d %d", &scores[i][0], &scores[i][1], &scores[i][2]);
// 计算平均成绩
averages[i] = (scores[i][0] + scores[i][1] + scores[i][2]) / 3.0;
}
// 按照语数英、平均成绩的顺序输出每个同学的成绩
printf("语\t数\t英\t平均成绩\n");
for(int i = 0; i < 10; i++) {
printf("%d\t%d\t%d\t%.2f\n", scores[i][0], scores[i][1], scores[i][2], averages[i]);
}
return 0;
}
```
运行该程序,依次输入10个学生的成绩,即可得到每个学生的平均成绩,并按照语数英、平均成绩的顺序输出每个同学的成绩。
相关问题
c语言二维数组输入10个学生语数英3门课的成绩,并按照每个同学的成绩占一行的形式输出。
下面是一个示例代码,可以实现输入10个学生的语数英3门课的成绩,并按照每个同学的成绩占一行的形式输出:
```c
#include <stdio.h>
int main()
{
int scores[10][3]; // 定义一个二维数组来存储10个学生的成绩
int i, j;
// 输入每个学生的成绩
for (i = 0; i < 10; i++) {
printf("请输入第%d个学生的成绩:\n", i + 1);
for (j = 0; j < 3; j++) {
printf("请输入第%d门课的成绩:", j + 1);
scanf("%d", &scores[i][j]); // 读入成绩
}
}
// 按照每个同学的成绩占一行的形式输出
for (i = 0; i < 10; i++) {
printf("第%d个学生的成绩:", i + 1);
for (j = 0; j < 3; j++) {
printf("%d ", scores[i][j]); // 输出成绩
}
printf("\n"); // 换行
}
return 0;
}
```
这段代码中,我们定义了一个二维数组 `scores` 来存储10个学生的成绩。然后使用两个循环分别输入和输出每个学生的成绩,其中外层循环控制学生的数量,内层循环控制课程的数量。最后输出时,我们按照每个同学的成绩占一行的形式输出。
用c语言二维数组实现,输入5个学生3门课程的成绩,计算并输出每个学生的评价分
好的,我可以帮您解答这个问题。
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int scores[5][3]; // 定义二维数组存储成绩
int i, j;
// 输入成绩
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的3门课程成绩:\n", i+1);
for (j = 0; j < 3; j++) {
scanf("%d", &scores[i][j]);
}
}
// 计算评价分
for (i = 0; i < 5; i++) {
int sum = 0;
for (j = 0; j < 3; j++) {
sum += scores[i][j];
}
float avg = sum / 3.0;
printf("第%d个学生的评价分为:%.2f\n", i+1, avg);
}
return 0;
}
```
代码实现了以下功能:
1. 定义一个 $5\times3$ 的二维数组 `scores`,用来存储 5 个学生 3 门课程的成绩;
2. 使用 `for` 循环输入每个学生的 3 门课程成绩;
3. 使用双重 `for` 循环计算每个学生的平均成绩,并输出评价分。
注意,代码中的 `%d` 和 `%f` 分别用来读取和输出整数和浮点数。其中,`%.2f` 表示输出浮点数时保留 2 位小数。
希望我的回答对您有所帮助!