鱼C论坛

 找回密码
 立即注册
查看: 1291|回复: 3

结构体排序,怎么排不了?没效果。求帮忙

[复制链接]
发表于 2015-3-17 22:51:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
#include <malloc.h>

struct student        //定义结构体  student
{
        char name[20];
        int age;
        float score;
};

void stdnum(struct student * p,int n)     //结构体的数据输入函数
{
        for(int i=0;i<n;i++)
                {
                        printf("请输入第%d位学生的姓名:\nname : ",i+1);
                        scanf("%s",p[i].name);
                        printf("请输入第%d位学生的年龄:\nage : ",i+1);
                        scanf("%d",&p[i].age);
                        printf("请输入第%d位学生的分数:\nscore : ",i+1);
                        scanf("%f",&p[i].score);
                }
}

void sort(struct student * p,int n)    //结构体的排序,不知道为什么没有效果???求解释
{
        struct student c;
        for(int i=0;i<n-1;i++)
                for(int j=0;j<n-1-j;j++)
                        {
                                if(p[j].score < p[j+1].score)
                                        {
                                                c=p[j];p[j]=p[j+1];p[j+1]=c;
                                        }
                        }
}
void print(struct student * p,int n)     //结构体内数据的输出
{
        for(int i=0;i<n;i++)
                {
                        printf("第%d名信息如下:\n",i+1);
                        printf("姓名%s\n",p[i].name);
                        printf("年龄%d\n",p[i].age);
                        printf("成绩%.1f\n",p[i].score);
                }
}

int main()     //主函数
{
        int n;
        struct student * pr;
        printf("请输入一共有多少学生: \n学生数 = ");
        scanf("%d",&n);
        pr=(struct student *)malloc(n * sizeof(struct student));    //申请n个学生的结构体数据类型
        stdnum(pr,n);            //输入
        sort(pr,n);              //排序,但是没效果
        print(pr,n);            //排序后的名次输出

        return 0;
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-3-18 22:43:51 | 显示全部楼层
学会自己调试啊亲。网上肯定会有帖子说怎么调试程序~~
你这大段代码打下来。谁愿意去看~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-18 22:49:59 | 显示全部楼层
lightninng 发表于 2015-3-18 22:43
学会自己调试啊亲。网上肯定会有帖子说怎么调试程序~~
你这大段代码打下来。谁愿意去看~~{:5_99: ...

已经解决了,这个题。其实还是很简单的
嵌套搞错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-18 22:59:53 | 显示全部楼层
秀丽江山 发表于 2015-3-18 22:49
已经解决了,这个题。其实还是很简单的
嵌套搞错了

恩,遇到问题,要学会自己解决,把自己真正弄不清的拿过来问,问题越细化,一般就有越多的人愿意回答~
自己玩论坛的感想~~
一起加油~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 19:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表