有一个班,四个学生,各学三门课,计算总平均分以及输出第n个学生的成绩。用c语言指针
时间: 2023-09-10 14:15:28 浏览: 73
以下是一个简单的C语言程序,用于计算四个学生的三门课的总平均分,并输出第n个学生的成绩:
```c
#include <stdio.h>
#define NUM_STUDENTS 4
#define NUM_COURSES 3
void calcAvg(int *grades, float *avg) {
int sum = 0;
for (int i = 0; i < NUM_COURSES; i++) {
sum += *(grades + i);
}
*avg = (float)sum / NUM_COURSES;
}
int main() {
int grades[NUM_STUDENTS][NUM_COURSES] = {
{ 80, 85, 90 },
{ 75, 80, 85 },
{ 70, 75, 80 },
{ 65, 70, 75 }
};
float avg[NUM_STUDENTS];
// 计算每个学生的平均成绩
for (int i = 0; i < NUM_STUDENTS; i++) {
calcAvg(grades[i], &avg[i]);
}
// 输出每个学生的平均成绩
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("Student %d average grade: %.2f\n", i+1, avg[i]);
}
// 输出第n个学生的成绩
int n;
printf("Enter student number (1-4): ");
scanf("%d", &n);
if (n < 1 || n > NUM_STUDENTS) {
printf("Invalid student number!\n");
return 1;
}
printf("Student %d grades: ", n);
for (int i = 0; i < NUM_COURSES; i++) {
printf("%d ", grades[n-1][i]);
}
printf("\n");
return 0;
}
```
这个程序定义了一个`grades`数组,其中包含了所有学生的成绩。使用`calcAvg`函数计算每个学生的平均成绩,并将结果保存在`avg`数组中。最后,程序提示用户输入要查询的学生编号(1-4),并输出该学生的成绩。