鱼C论坛

 找回密码
 立即注册
查看: 3237|回复: 1

找了很久都找不到错误的原因!

[复制链接]
发表于 2014-8-16 11:10:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<stdlib.h>

typedef struct LinkList
{
    int data;
    struct LinkList *next;
}node;

int main()
{
    node *pHead=NULL;
    char a;
    printf("1、查看链表\n2、创建链表(尾插法)\n3、链表长度\n4、中间结点值\n0、退出\n请选择你的操作:");
    while(a!='0')
    {
        scanf("%c",&a);
        switch(a)
        {
        case '1':locate(pHead);
                 printf("\n");
                 break;
        case '2':printf("输入数据:");
                 printf("\n");
                 createLinkList(&pHead);
                 locate(pHead);
                 printf("\n");
                 break;
        case '3':printf("链表长度为:%d\n",lenght(pHead));
                 break;
        case '4':printf("中间值为:%d\n",getmidnode(pHead));
                 break;
        case '0':exit(0);
        }
    }

}


void locate(node *pnode)
{
    node *temp;
    temp = pnode;
    if((pnode)==NULL)
        exit(0);
    printf("*************链表中的元素*************************\n");
    do
    {
        printf("%4d",temp->data);
    }while((temp = temp->next) !=pnode);

    printf("\n");
}


void createLinkList(node **pnode)
{
    node *target;
    int elem;
    node *temp;

    while(1)
    {
        temp=(node *)malloc(sizeof(struct LinkList));
        scanf("%d",&elem);
        fflush(stdin);
        temp->data=elem;
        if(elem==0)
            return;
        if((*pnode)==NULL)
        {
            *pnode = (node*)malloc(sizeof(struct LinkList));
            if(!(*pnode))
                exit(0);
                (*pnode)->data=temp->data;
                target=*pnode;

        }
        else
        {
            target->next=temp;
            target->data=temp->data;
            target->next=NULL;
        }

    }

}

int lenght(node *pnode)
{
    node *target;
    int j;
    j=1;
    for(target=pnode;target->next!=NULL;j++)
        target=target->next;
    if(pnode=NULL)
        return 0;
    else
        return j;
}

int getmidnode(node *pnode)
{
    int j;
    node *man;
    node *kuai;
    if(pnode==NULL)
        return 0;
    for(man=kuai=pnode;kuai->next->next!=NULL;kuai=kuai->next->next,man=man->next)
    {
        j=man->data;
    }
    return j;
}
求指教,谢谢!!

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

使用道具 举报

发表于 2014-8-16 07:04:27 | 显示全部楼层
能给个错误提示?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 10:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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