利用c语言实现学生成绩统计
时间: 2023-07-13 13:10:21 浏览: 125
C语言学生成绩统计
可以使用C语言实现一个学生成绩统计程序,具体实现可以参考以下步骤:
1. 定义学生结构体,包含学号、姓名和成绩等信息。
2. 定义一个数组,存储学生信息。
3. 编写函数,实现输入学生信息和成绩。
4. 编写函数,实现成绩的平均值、最高分和最低分的计算。
5. 编写函数,实现学生成绩的排序和输出。
以下是一个简单的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENT_NUM 100
typedef struct student {
char id[10];
char name[20];
float score;
} Student;
void input(Student students[], int n) {
for(int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%s", students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("成绩:");
scanf("%f", &students[i].score);
}
}
float average(Student students[], int n) {
float sum = 0.0;
for(int i = 0; i < n; i++) {
sum += students[i].score;
}
return sum / n;
}
float max(Student students[], int n) {
float max_score = students[0].score;
for(int i = 1; i < n; i++) {
if(students[i].score > max_score) {
max_score = students[i].score;
}
}
return max_score;
}
float min(Student students[], int n) {
float min_score = students[0].score;
for(int i = 1; i < n; i++) {
if(students[i].score < min_score) {
min_score = students[i].score;
}
}
return min_score;
}
void sort(Student students[], int n) {
for(int i = 0; i < n-1; i++) {
for(int j = i+1; j < n; j++) {
if(students[i].score < students[j].score) {
Student temp = students[i];
students[i] = students[j];
students[j] = temp;
}
}
}
}
void output(Student students[], int n) {
printf("\n学号\t姓名\t成绩\n");
for(int i = 0; i < n; i++) {
printf("%s\t%s\t%.2f\n", students[i].id, students[i].name, students[i].score);
}
}
int main() {
Student students[MAX_STUDENT_NUM];
int n;
printf("请输入学生人数:");
scanf("%d", &n);
input(students, n);
printf("\n平均成绩:%.2f\n", average(students, n));
printf("最高分:%.2f\n", max(students, n));
printf("最低分:%.2f\n", min(students, n));
sort(students, n);
output(students, n);
return 0;
}
```
注意,这只是一个简单的示例代码,实际应用中可能需要更多的功能和优化。
阅读全文