13.用函数方式(形参是结构体数组)将学生按成绩从大到小

在这里插入图片描述

主要是 fun函数的形参是这么写 struct Stu *s 多一个结构体声明
如果不是结构体 就是fun(int *s)

#include <stdio.h>
struct Stu{
    char id[20];
    char name[20];
    double score;
}s[3];

void fun(struct Stu *s) // 传的是结构体数组 本质还是数组就是前面有一个struct Stu结构体声明
{
    double t;
    for(int j = 1;j<3;j++)
        for(int i=0;i<3-j;i++)
        {
            if(s[i].score > s[i+1].score)
            {
                t = s[i].score;
                s[i].score = s[i+1].score;
                s[i+1].score = t;
            }
        }

}
int main(void)
{
    for(int i=0;i<3;i++)
    {
        printf("请输入第%d个学生学号:姓名:成绩:\n",i+1);
        scanf("%s%s%lf", s[i].id, s[i].name, &s[i].score);
    }
    fun(s);
    for(int i=0;i<3;i++)
    {
        printf("学号:%s,姓名:%s,成绩:%lf\n",s[2-i].id,s[2-i].name,s[2-i].score);
    }


    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值