鱼C论坛

 找回密码
 立即注册
查看: 6009|回复: 2

建立一个有5个结点的单向链表。每个结点包含姓名、年龄和工资。编写两个函数,一个用

[复制链接]
发表于 2013-12-19 22:27:31 | 显示全部楼层 |阅读模式
1鱼币
建立一个有5个结点的单向链表。每个结点包含姓名、年龄和工资。编写两个函数,一个用于建立链表,另一个用于输出链表。
要求:1 建立链表的函数名为creat,数据输入和链表建立在函数中实现;
      2 输出链表的函数名为output,用以实现creat建立的链表数据的输出;
      3 在main函数中调用creat函数和output函数。

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

使用道具 举报

发表于 2013-12-20 16:16:52 | 显示全部楼层
楼主才1money啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-12-20 17:20:10 | 显示全部楼层
#include<stdio.h>
#define M 5
#define NULL 0
#define LEN sizeof(struct worker)
struct worker
{
        char name[20];
        int age;
        float wages;
        struct worker *next;
};
int n;
struct worker *creat()
{
        int i;
        int wages;
        struct worker *head;
        struct worker *p1, *p2;
        n = 0;
        head = p1 = ( struct worker *)malloc(LEN);
        head->next = NULL;
        for ( i = 0; i < M; i++ )
        {
                p2 = ( struct worker *)malloc(LEN);
                printf("input name & age & wages\n");
                scanf("%s,%d,%d", p2->name, &p2->age, &wages);
                n++;
                p1->next = p2;
                p1 = p2;
        }
        p1->next = NULL;
        head->age = n;
        return(head);
}
void output( struct worker *head )
{
        struct worker *p1;
        int i = 1;
        p1 = head->next;
        do
        {
                printf("%s,%d,%d\n",p1->name,p1->wages);
                p1 = p1->next;
                i++;
        }
        while ( p1 != NULL );
}
main()
{
        struct worker *head;
        head = creat();
        printf("there are %d structs\n",n);
        output (head);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 02:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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