前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c-利用结构体存放信息并排序

c-利用结构体存放信息并排序

作者头像
kdyonly
发布2023-03-03 19:22:42
2070
发布2023-03-03 19:22:42
举报
文章被收录于专栏:个人编程笔记个人编程笔记

浏览量 1

说起来你们可能不信,今天自己没有选择“剁手”,不是被马爸爸忽悠去买买买了,而是选择孤独的写着代码,本来啥也没有,要是连代码都撸不成了,那就没救了,不知道在座的各位有没有抢到红包,买到东西,护住钱包,选择剁手呢?买东西,别听马爸爸说打折,就有点控制不住自己了,量力而行,买些该买的,当然能抢到便宜又好的东西,那还是不错的,当然了,如果说你有钱,就是想给马爸爸贡献点数据,那请随意,还有时间赶紧的。好吧,闲扯到这,上代码,这里就是开辟空间的时候注意下就行了,指针也需要地址存放的,如果有错的地方,欢迎指正,互相学习。

代码语言:javascript
复制
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student
{
        int id;
        char *pname;
        int score;
}*pstd;
int main()
{
        int i,j,k,m;
        char name[20];
        struct student stu[5];
        struct student tmp;
        pstd=(struct student *)malloc(sizeof(struct student));
        if(pstd==NULL){
                printf("%s\n","failed");
        }else{
        for(i=0;i<5;i++){
                scanf("%d",&stu[i].id);
                scanf("%s",name);
                stu[i].pname=(char *)malloc(20*sizeof(char));
                strcpy(stu[i].pname,name);
                scanf("%d",&stu[i].score);
                }
        }
        printf("%s\n%d\n",stu[2].pname,stu[4].score);
        tmp.pname=(char *)malloc(20*sizeof(char));
        for(j=0;j<4;j++){
                for(k=0;k<5-j-1;k++){
                        if(stu[k].score>stu[k+1].score){
                                tmp=stu[k];
                                stu[k]=stu[k+1];
                                stu[k+1]=tmp;
                        }
                }
        }
        for(m=0;m<5;m++){
                printf("%s%d\n",stu[m].pname,stu[m].score);
                free(stu[m].pname);
        }
        free(pstd);
        return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档