| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 436 人关注过本帖
标题:链表排序问题
只看楼主 加入收藏
G梦
Rank: 1
等 级:新手上路
帖 子:48
专家分:7
注 册:2012-12-27
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:5 
链表排序问题
求指导,如何给链表排序,顺便帮我看看这段代码错哪儿了,VC总是提示有空串
谢谢啦

#include<stdio.h>
#include<stdlib.h>
#define len sizeof(struct student)
struct student
{
    char name[30];
    int score1;
    int score2;
    int score3;
    int all;
    struct student *next;
};
int n;
struct student*creat()
{
    struct student*head;
    struct student*p1,*p2; n=0;
    p1=p2=(struct student*)malloc(len);
    scanf("%s%d%d%d",&p1->name,&p1->score1,&p1->score2,&p1->score3);
    head=NULL;
     
    while(p1->name!='')
    {  
        n=n+1;  
        if(n==1)head=p1;  
        else p2->next=p1;  
        p2=p1;  
        p1=(struct student*)malloc(len);  
        scanf("%s%d%d%d",&p1->name,&p1->score1,&p1->score2,&p1->score3);
    }
    p2->next=NULL;
    return(head);
}
int main()
{
    struct student*pt;
    pt=creat();
    printf("总评1:%d",pt->all=(pt->score1+pt->score2+pt->score3));
    printf("总评2:%d",pt->next->all=(pt->next->score1+pt->next->score2+pt->next->score3));
    printf("总评3:%d",pt->next->next->all=(pt->next->next->score1+pt->next->next->score2+pt->next->next->score3));
 }

搜索更多相关主题的帖子: next all include 如何 
2013-01-21 14:09
globc
Rank: 2
等 级:论坛游民
帖 子:15
专家分:12
注 册:2013-1-20
收藏
得分:0 
回去看看课本上的链表是怎么写的,你这叫链表吗?!
2013-01-21 22:39
G梦
Rank: 1
等 级:新手上路
帖 子:48
专家分:7
注 册:2012-12-27
收藏
得分:0 
怎么不是了?
2013-01-22 19:20
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:15 
student*p1,*p2; n=0;
这里好像...是笔误吧...
确实是链表,不过这里:
   while(p1->name!='')
应该是这样吧:
  while(p1->name!= '\0')
而且你用scanf函数会在缓冲区中遗留'\n'的,当然第一个元素师字符串所以没有什么的影响

I have not failed completely
2013-01-22 23:18
王捉熊
Rank: 2
等 级:论坛游民
帖 子:46
专家分:61
注 册:2012-10-23
收藏
得分:5 
本人也是新手,觉得确实有点问题:1.头文件好像还要加<malloc.h>
                                2.struct student *p1,*p2;n=0;可能如楼上的大哥所说是笔误。
                                3.我自己用*creat函数时会在括号里加void
这些只供参考,说错莫怪。

新手上路,说错请勿见怪!
2013-01-23 00:54
G梦
Rank: 1
等 级:新手上路
帖 子:48
专家分:7
注 册:2012-12-27
收藏
得分:0 
回复 4楼 神龙赖了
弱弱的问一句 strucdt student *p1,*p2;n=0;这段代码有什么问题吗?
2013-01-26 23:35
快速回复:链表排序问题
数据加载中...
 
   



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

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