| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 344 人关注过本帖, 1 人收藏
标题:求教成绩排序问题
只看楼主 加入收藏
xinshou11
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-11-18
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:6 
求教成绩排序问题
给学生成绩排序,如果成绩相同则按姓名首字母,求教如何解决啊
搜索更多相关主题的帖子: 姓名 字母 如何 
2012-11-18 00:50
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:3 
首先按照数字成绩比大小,如果两个相同,用strcmp来比较姓名字符串,这样就可以了

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-11-18 07:51
菜鸟一支
Rank: 6Rank: 6
来 自:何美杭
等 级:侠之大者
威 望:1
帖 子:119
专家分:439
注 册:2012-10-10
收藏
得分:3 
有没有输入输出样例?  可以用结构体数据类型

小弟何美杭,所发表的都仅代表个人观点,欢迎批评指正。
2012-11-18 11:26
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
收藏
得分:3 
具体的要求有没有

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-11-18 14:21
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:3 
结构体 struct student
{
int name[10];
int grade;
};
然后比对,

去追寻更高的技术领域。永不停止。
2012-11-18 16:08
youngdavid
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:107
专家分:698
注 册:2012-9-24
收藏
得分:3 
楼主你好,我写了个程序,可以实现你要的功能:
程序代码:
#include<stdio.h>
struct Student
{
    char name[10];
    float score;
};
void main()
{
struct    Student a[4]={"zhan",68,"li",78,"wang",78,"sun",89};
    int i,j;
    for(i=0;i<4;i++)
        printf("%s,%1.0f ",a[i].name,a[i].score);
    printf("\n");
    for( i=0;i<3;i++)
        for(j=0;j<3-i;j++){
        struct Student temp;
            if(a[j].score<a[j+1].score)
                {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
                }
            else
            if((a[j].score=a[j+1].score)&&(strcmp(a[j].name,a[j+1].name)>0))
                {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
                }               


        }
    for( i=0;i<4;i++)
        printf("%s ",a[i].name);
    printf("\n");
}
如果要添加元素,只需要在语句里赋值语句里添加,并且改变循环的项数就可以了。
2012-11-19 21:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
正路是写个专门用于这个结构数据类型的比较函数,在C++中用运算符重载,在C中就只能用函数,但方法和思路是一样的。

授人以渔,不授人以鱼。
2012-11-19 21:35
快速回复:求教成绩排序问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018630 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved