接上一条问题后,完成输入正确,在排序上,仅仅对姓名排序,但要输出带着姓名的整个结构体,怎么做,知识有限请赐教!
题目如下:
输入样例】
4
1 aaa 22
45 bbb 23
54 ddd 20
110 ccc 19
【输出样例】
1 aaa 22
45 bbb 23
110 ccc 19
54 ddd 20
###### 用代码块功能插入代码,请勿粘贴截图
```c++
#include
using namespace std;
struct student
{
int no;
char name [6];
int age;
student *next;
};
int main()
{
int x;
cin>>x;
struct student s[50];
for(int i=0;i>s[i].no;
cin>>s[i].name;
cin>>s[i].age;
}
char temp;
for(int j=0;jfor(int p=0;p-1;p++)
{
if('s[p].name'>'s[p+1].name')
{temp=s[p].name;
s[p].name=s[p+1].name;
s[p+1].name=s[p].name;}
}
}
return 0;
}
想着用数组,但也没办法把整个都用循环啊,真的苦恼
if(strcmp(s[p].name,s[p+1].name) > 0)
{
char temp[10];
strcpy(temp,s[p].name);
strcpy(s[p].name,s[p+1].name);
strcpy(s[p+1].name,temp);
}