寻梦&他乡


私信TA

用户名:uq_31399557620

访问量:1389

签 名:

等  级
排  名 1880
经  验 2584
参赛次数 0
文章发表 10
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<stdio.h>

#include<stdlib.h>

typedef struct STU {

int num;

int score;

struct STU* next;

}list;

list* create(int n);

list* DleteL(list* l1, list*l2);

void output(list* t);

void count(list* t);

int main()

{

list* head1, * head2, *p;

int n, m;

scanf("%d%d", &n, &m);

head1 = create(n);

head2 = create(m);

head1 = DleteL(head1, head2);

p = head1;

count(p);

output(head1);

return 0;

}

list*create(int n)

{

list* temp, *p1, *p2;

p1 = (list*)malloc(sizeof(list));

p1->next = NULL;

temp = p1;

while(n--){

p2 = (list*)malloc(sizeof(list));

p2->next = NULL;

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

temp->next = p2;

temp = p2;

}

return p1;

}

 list* DleteL(list* l1, list* l2)

{

list* p1 = l1->next;

list* p2, * head, * q, *temp;

head = (list*)malloc(sizeof(list));

head->next = NULL;

temp = head;

while (p1 != NULL) {

p2 = l2->next;

while(p2 != NULL && p1->num != p2->num) {

p2 = p2->next;

}

if (p2 == NULL) {

q = (list*)malloc(sizeof(list));

q->num = p1->num;

q->score = p1->score;

q->next = NULL;

temp->next = q;

temp = q;

}

p1 = p1->next;

}

return head;

}

 void count(list* t) {

int count = 0;

while (t->next != NULL) {

t = t->next;

count++;

}

printf("%d\n", count);

 }

 void output(list* t)

 {

while (t->next!= NULL) {

t = t->next;

printf("%d %d ", t->num, t->score);

}

 }


 

0.0分

0 人评分

  评论区

  • «
  • »