问题遇到的现象和发生背景
#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *next;
};
struct node* L;
int m,n;
void creat(struct node* L,int n)
{
int i;
struct node* s;
for(i=0;i<n;i++)
{
s=(node*)malloc(sizeof(node));
scanf("%d",&s->data);
s->next=L->next;
L->next=s;
}
}
void quchong(struct node*L)
{
struct node* p1;
struct node* p2;
p1=L->next;
p2=p1->next;
while(p2&&p1)
{
if(p1->data==p2->data)
{
p1->next=p2->next;
free(p2);
p2=p1->next;
m--;}
else
{
p1=p1->next;
p2=p2->next;}
}
void println(struct node*L)
{
struct node* p1;
p1=L->next;
while(p1->next)
{
printf("%d ",p1->data);
p1=p1->next;
}
printf("%d",p1->data);
}
void px(struct node* L)
{
struct node* pm;
struct node* p1;
struct node* p2;
int t;
for(p1=L->next;p1->next;p1=p1->next)
{pm=p1;
for(p2=p1->next;p2;p2=p2->next)
if(p2->data<pm->data)
pm=p2;
t=pm->data;
pm->data=p1->data;
p1->data=t;
}
}
int main()
{
L=(node*)malloc(sizeof(node));
L->next=NULL;
scanf("%d",&n);
m=n;
creat(L,n);
px(L);
quchong(L);
printf("%d\n",m);
println(L);
return 0;
}
[Error] expected '}' at end of input
我的解答思路和尝试过的方法
用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。