如何将这个代码补充完整(语言-c语言)

img


输入学生成绩信息(包括学号、姓名、语文、英语、数学),计算出学生成绩总分,并按总分从高到低输出

代码修改如下,供参考对照:

#include <stdio.h>
typedef struct {
    char no[20];
    char name[20];
    float yw;
    float sx;
    float yy;
    float sum;
}Student;
//Student stds[1000]; 这里全局变量定义多余了
void input(Student s[], int* len)
{
    int i, n;
    printf("请输入增加的人数:");
    scanf("%d", &n);
    for (i = (*len), (*len) += n; i < (*len); i++) {
        printf("学号:");
        scanf("%s", s[i].no);
        getchar();
        printf("姓名:");
        scanf("%s", s[i].name);
        getchar();
        printf("语文:");
        scanf("%f", &s[i].yw);
        getchar();
        printf("数学:");
        scanf("%f", &s[i].sx);
        getchar();
        printf("英语:");
        scanf("%f", &s[i].yy);
        getchar();
    }

}
void sum(Student s[], int len)
{
    int i;
    for (i = 0; i < len; i++) {
        s[i].sum = s[i].yw + s[i].sx + s[i].yy;
    }
}
void swap(Student* a, Student* b)
{
    Student tmp;
    tmp = *a;
    *a = *b;
    *b = tmp;
}
void sort(Student s[], int len)
{
    int i, j;
    for (i = 0; i < len - 1; i++)
        for (j = i + 1; j < len; j++)
            if (s[i].sum < s[j].sum)
                swap(&s[i], &s[j]);
}
void print(Student s[], int len)
{
    int i;
    for (i = 0; i < len; i++)
        printf("%s,%s,%.2f,%.2f,%.2f,%.2f\n", 
            s[i].no, s[i].name, s[i].yw, s[i].sx, s[i].yy, s[i].sum);
}
int main()
{
    Student stds[1000] = {
        {"1001","李三",100,100,100,0},
        {"1002","张三",80,80,85,0},
        {"1003","王二",70,95,87,0},
        {"1004","李四",60,90,82,0}
    };
    int len = 4;
    input(stds, &len);
    sum(stds, len);
    sort(stds, len);
    print(stds, len);
    return 0;
}

代码格式都是乱的,哪里需要补充代码?题目要求呢

排一下版吧