用结构创建学生信息表

#include <stdio.h>

#include <stdlib.h>

typedef struct tagStudent

{

    char name[10];

    int yw;

    int sx;

    int yy;

    int sum;

}Student;

void show(int *n);


int main(int argc, const char * argv[])

{

    int n;

    printf("请输入学生总人数:");

    scanf("%d",&n);

    show(&n);

    return 0;

}

void show(int *n)

{

    

    Student *p=malloc(sizeof(Student));

    for (int i=0;i<*n ; i++)

    {

        printf("请输入第%d位同学的姓名:",i+1);

        scanf("%s",p[i].name);

        printf("请输入%s同学的yw成绩:",p[i].name);

        scanf("%d",&p[i].yw);

        printf("请输入%s同学的sx成绩:",p[i].name);

        scanf("%d",&p[i].sx);

        printf("请输入%s同学的yy成绩:",p[i].name);

        scanf("%d",&p[i].yy);

        p[i].sum=p[i].yw+p[i].sx+p[i].yy;

    }

    for (int i=0; i<*n-1; i++)

    {

        for (int j=i+1; j<*n; j++)

        {

            if (p[i].sum<p[j].sum)

            {

                Student t=p[i];

                p[i]=p[j];

                p[j]=t;

            }

        }

    }

    printf("姓名\t语文\t数学\t英语\t总分\n");

    for (int i=0; i<*n; i++)

    {

        printf("%s\t",p[i].name);

        printf("%d\t",p[i].yw);

        printf("%d\t",p[i].sx);

        printf("%d\t",p[i].yy);

        printf("%d\n",p[i].sum);

    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值