#include
#include
#include
#include
typedef struct student
{
int num;
char name[20];
char sex;
int age;
struct student *next;
}node;
node* creat(void)
{
node * L,*p;
L = (node*)malloc(sizeof(node));
p = L;
int n;
printf("人数:");
scanf("%d",&n);
for(int i = 0;i < n;i++)
{
node newp = (node)malloc(sizeof(node));
scanf("%d,%s,%c,%d",&newp->num,newp->name,&newp->sex,&newp->age);
newp->next = NULL;
p->next = newp;
p = newp;
}
return L;
}
void del(node *L,int n)
{
node *p = L;
while(p->next != NULL)
{
if(p->next->age == n)
{
p->next = p->next->next;
}
else p = p->next;
}
}
void print(node *L)
{
node *p = L->next;
while(p)
{
printf("%d %s %c %d\n",p->num,p->name,p->sex,p->age);
p = p->next;
}
}
void main()
{
node *L1 = creat();
int n;
printf("要删除的年龄:");
scanf("%d",&n);
del(L1,n);
print(L1);
system("pause");
}
#include
#include
#include
#include
typedef struct student
{
int num;
char name[20];
char sex;
int age;
struct student *next;
}node;
node* creat(void)
{
node * L,*p;
L = (node*)malloc(sizeof(node));
L->next = NULL;
p = L;
int n;
printf("人数:");
scanf("%d",&n);
for(int i = 0;i < n;i++)
{
node newp = (node)malloc(sizeof(node));
scanf("%d %s %c %d",&newp->num,newp->name,&newp->sex,&newp->age);
newp ->next = NULL;
p->next = newp;
p = newp;
//newp->next = L->next;
//L->next = newp;
}
return L;
}
void del(node *L,int n)
{
node *p = L;
while(p->next != NULL)
{
if(p->next->age == n)
{
p->next = p->next->next;
}
else p = p->next;
}
}
void print(node *L)
{
node *p = L->next;
while(p)
{
printf("%d %s %c %d\n",p->num,p->name,p->sex,p->age);
p = p->next;
}
}
void main()
{
node *L1 = creat();
int n;
printf("要删除的年龄:");
scanf("%d",&n);
del(L1,n);
print(L1);
system("pause");
}
看下代码的问题,sex这个单词不好,一般是和那个有关的,应该用gender
我试了下,好像可以啊,有可能是你输入那里的问题,scanf("%d,%s,%c,%d",&newp->num,newp->name,&newp->sex,&newp->age);
为什么输出结果是这样的