输入5个学生4门功课的成绩
时间: 2023-09-09 21:08:35 浏览: 109
好的,以下是5个学生4门功课的成绩:
| 学生 | 课程1 | 课程2 | 课程3 | 课程4 |
| --- | --- | --- | --- | --- |
| 学生1 | 85 | 90 | 92 | 88 |
| 学生2 | 76 | 82 | 80 | 78 |
| 学生3 | 90 | 95 | 87 | 92 |
| 学生4 | 68 | 72 | 75 | 70 |
| 学生5 | 94 | 89 | 96 | 92 |
相关问题
输入5个学生4门功课的成绩,输出不及格学生的学号和全部成绩。(用函数和指针实现)
好的,我可以为您提供该问题的代码实现,如下所示:
```c
#include <stdio.h>
#define N 5 // 学生数量
#define M 4 // 课程数量
void fail(int (*p)[M], int n, int *sum); // 函数声明
int main()
{
int score[N][M]; // 学生成绩矩阵
int sum[N]; // 每个学生总成绩
int *p_sum = sum; // 指向总成绩数组的指针
int i, j;
// 输入学生成绩
for (i = 0; i < N; i++) {
printf("请输入第%d个学生的成绩:\n", i+1);
for (j = 0; j < M; j++) {
scanf("%d", &score[i][j]);
}
}
// 统计每个学生的总成绩
for (i = 0; i < N; i++) {
*(p_sum + i) = 0;
for (j = 0; j < M; j++) {
*(p_sum + i) += score[i][j];
}
}
// 输出不及格学生的学号和全部成绩
fail(score, N, p_sum);
return 0;
}
void fail(int (*p)[M], int n, int *sum)
{
int i, j;
int flag = 0; // 判断是否有不及格学生
for (i = 0; i < n; i++) {
for (j = 0; j < M; j++) {
if (*(*(p+i)+j) < 60) { // 不及格判断
flag = 1;
printf("学生%d:", i+1);
for (j = 0; j < M; j++) {
printf("%d ", *(*(p+i)+j));
}
printf("总成绩:%d\n", *(sum+i));
break; // 一门不及格即为不及格
}
}
}
if (flag == 0) {
printf("无不及格学生。\n");
}
}
```
该程序通过指针实现了对学生成绩的统计和输出不及格学生的学号和全部成绩。请注意:该程序只是一个简单的示例,可能并不具有实际应用价值,仅供参考。
2、 编写一个程序,输入4个学生3门功课的成绩,再写一个one函数,用来求出每个学生的平均分,并且在这个one函数中把每个人的平均分输出,在主函数main()中任意输入4个学生3门功课的成绩,然后去调用one,这个函数都不要去返回值。
以下是一个示例程序,可以实现你的要求:
```python
def one(scores):
for i in range(4):
avg = sum(scores[i]) / 3
print("学生{}的平均分为:{:.2f}".format(i+1, avg))
if __name__ == '__main__':
scores = []
for i in range(4):
print("请输入第{}个学生的3门功课成绩:".format(i+1))
s = list(map(float, input().split()))
scores.append(s)
one(scores)
```
程序首先定义了一个函数`one()`,它的参数是一个二维列表,表示4个学生3门功课的成绩。函数中使用了一个for循环,遍历每个学生的成绩,计算出平均分并输出。注意输出时使用了字符串格式化,保留2位小数。
在`main()`函数中,首先定义了一个空列表`scores`,然后使用一个for循环,输入4个学生的成绩,并把它们添加到`scores`列表中。最后调用`one()`函数,把`scores`作为参数传入。程序运行后,会输出每个学生的平均分。
阅读全文