| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 354 人关注过本帖
标题:以解决了。。不过还是留着吧,给和我一样的新手参考一下,稍微改了一下
取消只看楼主 加入收藏
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:1 
以解决了。。不过还是留着吧,给和我一样的新手参考一下,稍微改了一下
#include<stdio.h>
#include<malloc.h>
#define len sizeof(struct student)
struct student
 { long num;
     float score;
     struct student *next;
 };
struct student *creat(void)
 { struct student *p1,*p2,*head;
     int n=0;
     p1=p2=(struct student *)malloc(len);
     printf("请输入学号和成绩(格式为:学号,成绩。输入0则结束):\n");
     scanf("%ld,%f",&p1->num,&p1->score);
     head=NULL;
     while(p1->num!=0)
     {   n++;
         if(n==1)  head=p1;
         else p2->next=p1;
         p2=p1;
         p1=(struct student *)malloc(len);
         scanf("%ld,%f",&p1->num,&p1->score);
     }
     p2->next=NULL;
     return(head);
 }
 void output(struct student *head)
 {
     struct student *p;
     p=head;
     if(head!=NULL)
     printf("输出成绩:\n");
     do
     { printf("%ld   %.0f\n",p->num,p->score);
         p=p->next;
     }while(p!=NULL);
 }
 struct student *shan(struct student *head,long x)
 {
  struct student *p1,*p2;
      p1=head;
      while(x!=p1->num&&p1->next!=NULL)
      { p2=p1;p1=p1->next;}
       p2->next=p1->next;
          printf("%ld\n",x);
      
      return(head);
}
 void main()
 {   long x;
     struct student *p,*head;
     head=creat();
     p=head;
     output(p);
     printf("请输入要删除学生的学号:");
     scanf("%ld",&x);
     p=(struct student *)shan(p,x);
     output(p);
}

[ 本帖最后由 xdh0817 于 2011-11-13 00:27 编辑 ]
搜索更多相关主题的帖子: include 
2011-11-12 23:47
xdh0817
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:195
注 册:2011-10-20
收藏
得分:0 
回复 2楼 heroinearth
已经改好了,不过还是谢谢喽
2011-11-13 00:05
快速回复:以解决了。。不过还是留着吧,给和我一样的新手参考一下,稍微改了一下 ...
数据加载中...
 
   



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

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