2 qq 34378013 qq_34378013 于 2016.03.21 22:26 提问

关于C语言链表插入的问题
#include<stdio.h>
#include<stdlib.h>


struct node
{
    int num;
    int L;
    struct node *next;
};
typedef struct node LN;


LN *Creat(int n);
void print(LN *h);
void Revise(LN *p);


void main()
{
    LN *h;
    int a;
    printf("Input the sum of the number:");
    scanf("%d",&a);
    h=Creat(a);
    system("CLS");
    Revise(h);
    print(h);
}


LN *Creat(int n)
{
    LN *head;
    LN *p;
    LN *b;
    head=(LN *)malloc(sizeof(LN));
    head->next=NULL;
    b=head;
    for(int i=1;i<=n;i++)
    {
        printf("Input the %d number:",i);
        p=(LN *)malloc(sizeof(LN));
        scanf("%d",&p->num);
        b->next=p;
        b=p;
        p->L++;
    }
    system("CLS");
    p->next=NULL;
    return head;
}


void print(LN *h)
{
    LN *p;
    p=h->next;
    while(p)
    {
        printf("%d\n",p->num);
        p=p->next;
    }
}


void Revise(LN *p)
{
    LN *a;
    LN *b;
    int n;
    int i=0;
    int data;
    printf("Input which node you want to insert:");
    scanf("%d",&n);
    printf("Please input the data:");
    scanf("%d",&data);                                 
    while (i<n-1)
    {
        p=p->next;
        i++;
    }
    a=(LN *)malloc(sizeof(LN));
    b=(LN *)malloc(sizeof(LN));
    p->num=data;
    a=p->next;
    p->next=b;
    b->next=a;      
}


其中在链表插入当中插入错误,插入节点是对的,但是数就是错的。

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.21 22:36

void Revise(LN *p)
{
    LN *a;
    LN *b;
    int n;
    int i=0;
    int data;
    printf("Input which node you want to insert:");
    scanf("%d",&n);
    printf("Please input the data:");
    scanf("%d",&data);                                 
    while (i<n)
    {
        p=p->next;
        i++;
    }
    a=(LN *)malloc(sizeof(LN));
    a->num=data;
    a->next=p->next;
    p->next=a;
}

caozhy
caozhy 回复qq_34378013: 问题解决请点下我回答右边的采纳,谢谢
一年多之前 回复
qq_34378013
qq_34378013 太感谢 知道错在哪儿了
一年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.03.21 22:40

另外你的名字叫Revise,但是函数功能是插入节点,不是反转,这点请注意。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!