使用结构体表示某班学生的基本信息(姓名、学号、籍贯、C语言考试成绩),编程输出全班学生的信息并计算C语言考试平均成绩
时间: 2023-08-12 16:03:54 浏览: 107
以下是使用结构体表示某班学生的基本信息,并输出全班学生的信息并计算C语言考试平均成绩的示例代码:
```c
#include <stdio.h>
#define MAX_STUDENTS 50
typedef struct {
char name[20];
int id;
char hometown[20];
float c_score;
} student_t;
int main() {
student_t students[MAX_STUDENTS];
int n, i;
float sum = 0.0, avg;
printf("Enter the number of students: ");
scanf("%d", &n);
// Input student information
for (i = 0; i < n; i++) {
printf("Student %d:\n", i + 1);
printf(" Name: ");
scanf("%s", students[i].name);
printf(" ID: ");
scanf("%d", &students[i].id);
printf(" Hometown: ");
scanf("%s", students[i].hometown);
printf(" C language score: ");
scanf("%f", &students[i].c_score);
sum += students[i].c_score;
}
// Output student information
printf("\nClass information:\n");
for (i = 0; i < n; i++) {
printf("Student %d:\n", i + 1);
printf(" Name: %s\n", students[i].name);
printf(" ID: %d\n", students[i].id);
printf(" Hometown: %s\n", students[i].hometown);
printf(" C language score: %.2f\n", students[i].c_score);
}
// Calculate and output average score
avg = sum / n;
printf("\nC language average score: %.2f\n", avg);
return 0;
}
```
注意,上述代码中使用了 `typedef` 来定义了一个 `student_t` 的结构体类型,以方便后面的使用。同时,也定义了一个最大学生数 `MAX_STUDENTS`,以避免数组越界。最后,使用了一个循环来输入和输出每个学生的信息,并在输入时累加每个学生的 C 语言成绩,以便后面计算平均成绩。
阅读全文