初学者编程问题 c++语言

 我来答
创作者5xtHNFENNk
2019-01-14 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:31%
帮助的人:933万
展开全部
#include<iostream>
using
namespace
std;
typedef
struct
person
{
char
name[20];
int
age;
person
*next;
}person;
person
*create()
{
person
*head=NULL,*p1,*p2;
head=new
person;
cout<<"请输入每个人的姓名和年龄(输入0结束):";
cin>>head->name;
if(head->name[0]=='0')
return
NULL;
cin>>head->age;
p1
=head;
while(p1->name[0]!='0')
{
p2=new
person;
cout<<"请输入每个人的姓名和年龄(输入0结束):";
cin>>p2->name;
if(p2->name[0]=='0')
break;
cin>>p2->age;
p1->next
=
p2;
p1
=p2;
}
p1->next=NULL;
return
head;
}
void
sort_slist(person
*h)
{
person
*p,*q,*t;
t=(person
*)malloc(sizeof(person));
q=h->next;
p=q;
while(q!=NULL)//利用冒泡排序方法
{

p=q->next;

while(p!='\0')

{

if(q->age
<=
p->age)

{
t->age=q->age;
strcpy(t->name,q->name);

q->age=p->age;
strcpy(q->name,p->name);

p->age=t->age;
strcpy(p->name,t->name);

p=p->next;

}

else

p=p->next;

}

q=q->next;
}
}
int
main()
{
person
*head,*p;
head
=
p
=create();
while(p!=NULL)
{
cout<<p->name<<'\t'<<p->age<<endl;
p=p->next;
}
p
=
head;
sort_slist(p);
p
=
head;
while(p!=NULL)
{
cout<<p->name<<'\t'<<p->age<<endl;
p=p->next;
}
system("PAUSE");
return
0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式