猿问

补全代码 输入两组数据找到他们相同的部分?

#include<stdio.h>


struct node {

int data;

struct node* next;

};


struct node* create_node(int data)

{

struct nodet *p;

p = head;

char s = ' ';

if (head == NULL) {

printf("?????");

}

if (head != NULL) {

do {

printf("%c%c%d", s, s, p->data);

p = p->next;

} while (p != NULL);

printf("\n");

}

//You write here ...

}


void add_to_list(struct node* list, int data)

{


struct node *head;

struct node *p1, *p2;

int n = 0;

p1 = p2 = (struct node*)malloc(sizeof(struct node));

scanf("%d", &p1->num);

head = NULL;

while (p1->num != 0) {

n = n + 1;

if (n == 1)

head = p1;

else

p2->next = p1;

p2 = p1;

    p1 = (struct node*)malloc(sizeof(struct node));

scanf("%d", &p1->num);



//You write here ...

}


int search(struct node* list, int data)

{

int *p;

for (p = node; p< node + data; p++) //??????

if (*p == key)

return p - node;

return -1;

//You write here ...

}


Nightwithyou
浏览 1318回答 1
1回答

三十二应遍尘刹

链表啊,给你看个例子吧//建立一个有三名学生数据的单向动态链表 #include<stdio.h> #include<malloc.h> #define NULL 0 #define LEN sizeof(struct student) struct student { long num; float score; struct student *next; }; int n; struct student *creat(void)/*定义函数。此函数带回一个指向链表头的指针*///参数是void; { struct student *head; struct student *p1,*p2; n=0; p1=p2=(struct student *)malloc(LEN);/*开辟一个新单元*/ scanf("%ld,%f",&p1->num,&p1->score);//wenti head=NULL; while(p1->num!=0) { n=n+1; 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); }差不多东西吧
随时随地看视频慕课网APP
我要回答