| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 615 人关注过本帖
标题:C语言链表求助!
只看楼主 加入收藏
wsclwps123
Rank: 1
来 自:安徽黄山
等 级:新手上路
帖 子:11
专家分:2
注 册:2014-2-12
收藏
 问题点数:0 回复次数:8 
C语言链表求助!
/* 建立一个链表,每一个结点包括:学号,姓名,性别,年龄。输入
   一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结
   点删去,否则提示用户输入学号,姓名,性别等信息,并插入该结点、、、 */

   /*******************************************************************/

   #include <stdio.h>
   #include <stdlib.h>
   #define N 10

   struct node * print_link(struct node * head); /* 打印链表 */

   struct node {
     int id;
     char name[N];
     int sex;
     int age;
     struct node * next;
   };

   int main(void)
   {
       struct node * head;
       struct node * temp;
       struct node * add_temp;
       int n;

       head = (struct node *) malloc(sizeof(struct node));
       temp = head;

       /* 创建链表首结点 */
       temp->next = NULL;

       printf("请输入你想录取的学生的个数: ");
       scanf("%d", &n);
       printf("\n");

       while (add_temp != NULL)
       {
           add_temp = (struct node *) malloc(sizeof(struct node));

           printf("学生学号id = ");
           scanf("%d", &add_temp->id);
           printf("student name is(学生名字): ");
           getchar();
           gets(add_temp->name);
           printf("Enter the sex(0代表男生,1代表女生): ");
           scanf("%d", &add_temp->sex);
           printf("输入学生的年龄: ");
           scanf("%d", &add_temp->age);
           printf("\n");

           n--;

           temp->next = add_temp;
           temp = temp->next;

           if (n == 0)
           {
               printf("学生信息已经录完!\n");
               printf("**********************************\n");
               break;
           }

       }

       print_link(head);

       return 0;
   }

   struct node * print_link(struct node * head)
   {
       struct node * temp;
       temp = head->next;
       int i = 1;
       while (temp != NULL)
       {
           printf("这个是第%d个学生的资料.\n", i);
           printf("id = %d.   name = %s.    sex = %d.   age = %d.\n", temp->id, temp->name,
                  temp->sex, temp->age);
           temp = temp->next;
           i++;
       }
       return temp;
   }


图片附件: 游客没有浏览图片的权限,请 登录注册

i和n的数值有一个问题,就是n=0循环结束的时候,i会多一个
搜索更多相关主题的帖子: include C语言 信息 姓名 用户 
2014-02-12 11:25
wsclwps123
Rank: 1
来 自:安徽黄山
等 级:新手上路
帖 子:11
专家分:2
注 册:2014-2-12
收藏
得分:0 
大一的,自学老外的书,感觉太吃力,我是不是很垃圾?这段代码昨天弄了一晚上到下半夜

从我看到Hello World起,我坚信,我可以修炼成为代码而生的人~
2014-02-12 11:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
如果你能花一個星期的時間去修改和琢磨它,比半小時就弄出來強得多。

授人以渔,不授人以鱼。
2014-02-12 11:56
wsclwps123
Rank: 1
来 自:安徽黄山
等 级:新手上路
帖 子:11
专家分:2
注 册:2014-2-12
收藏
得分:0 
回复 3楼 TonyDeng
可是我想了很长时间没有结果啊!

从我看到Hello World起,我坚信,我可以修炼成为代码而生的人~
2014-02-12 17:48
wsclwps123
Rank: 1
来 自:安徽黄山
等 级:新手上路
帖 子:11
专家分:2
注 册:2014-2-12
收藏
得分:0 
知道了,add_tep->next的->next没打

从我看到Hello World起,我坚信,我可以修炼成为代码而生的人~
2014-02-12 20:35
loveClangage
Rank: 8Rank: 8
来 自:广东云浮
等 级:蝙蝠侠
帖 子:326
专家分:891
注 册:2013-8-23
收藏
得分:0 
加油

编写的程序,不能改变世界,却可以改变自己...
2014-02-12 20:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用wsclwps123在2014-2-12 17:48:14的发言:

可是我想了很长时间没有结果啊!

你又沒說有什麽錯誤和問題,以爲你在秀代碼而已。

授人以渔,不授人以鱼。
2014-02-12 21:13
wsclwps123
Rank: 1
来 自:安徽黄山
等 级:新手上路
帖 子:11
专家分:2
注 册:2014-2-12
收藏
得分:0 
回复 7楼 TonyDeng
我说了问题,在最后那行,不过现在解决了!

从我看到Hello World起,我坚信,我可以修炼成为代码而生的人~
2014-02-13 20:43
caffreyr
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-2-15
收藏
得分:0 
输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去,否则提示用户输入学号,姓名,性别等信息,并插入该结点。

这个代码没写完吧
2014-02-16 17:51
快速回复:C语言链表求助!
数据加载中...
 
   



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

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