weixin_63296519 2022-03-05 11:54 采纳率: 100%

# 不知道哪里有错误，求指正修改~

###### 描述
``````输入n个学生的信息，包括姓名，性别，出生年月。要求按年龄从小到大依次输出这些学生的信息。数据保证没有学生同年同月出生。
``````

5
KouKAL male 1999 12
YaeSakura male 1999 8
Zhang_ct female 1998 8
Iris female 2000 7

``````Iris female 2000 7
KouKAL male 1999 12
YaeSakura  male 1999 8
Zhang_ct female 1998 8
``````

``````#include<iostream>
using namespace std;
struct student
{
string xingming;
string xingbie;
int nian;
int yue;
};
int main()
{
int i;int j;
int n;string a;string b;int c;int d;
cin>>n;
student stuArray[n];
for(int i=0;i<n;i++)
{
cin>>a>>b>>c>>d;
stuArray[i].xingming=a;
stuArray[i].xingbie=b;
stuArray[i].nian=c;
stuArray[i].yue=d;};
for(i=0;i<n;i++)
{
if(stuArray[i].nian<stuArray[i+1].nian)
{
int m=i+1;
int temp=i;
i=m;
m=temp;
};
if(stuArray[i].nian=stuArray[i+1].nian)
{if(stuArray[i].yue<stuArray[i+1].yue)
{
int p=i+1;
int temp=i;
i=p;
p=temp;
};

};
for(i=0;i<n;i++)
{
cout<<stuArray[i].xingming<<" ";
cout<<stuArray[i].xingbie<<" ";
cout<<stuArray[i].nian<<" ";
cout<<stuArray[i].yue<<endl;
};
};
}

``````
• 写回答

#### 3条回答默认 最新

• 关注

你的排序有问题，修改后

``````#include<iostream>
using namespace std;
struct student
{
string xingming;
string xingbie;
int nian;
int yue;
};
int main()
{student temp;
int i;int j;
int n;string a;string b;int c;int d;
cin>>n;
student stuArray[n];
for(int i=0;i<n;i++)
{
cin>>a>>b>>c>>d;
stuArray[i].xingming=a;
stuArray[i].xingbie=b;
stuArray[i].nian=c;
stuArray[i].yue=d;};
for(i=0; i<n-1; i++) {
int k=i;
for(j=i+1; j<n; j++)
if(stuArray[k].nian<stuArray[j].nian)
k=j;
if(i!=k) {
temp=stuArray[i];
stuArray[i]=stuArray[k];
stuArray[k]=temp;
}
}

for(i=0; i<n-1; i++) {
for(j=i+1; j<n; j++)
if(stuArray[i].nian==stuArray[j].nian) {
if(stuArray[i].yue<stuArray[j].yue) {
temp=stuArray[i];
stuArray[i]=stuArray[j];
stuArray[j]=temp;
}
}
}

for(i=0;i<n;i++)
{
cout<<stuArray[i].xingming<<" ";
cout<<stuArray[i].xingbie<<" ";
cout<<stuArray[i].nian<<" ";
cout<<stuArray[i].yue<<endl;

};
}

``````
本回答被题主选为最佳回答 , 对您是否有帮助呢?
评论

• 系统已结题 3月13日
• 已采纳回答 3月5日
• 创建了问题 3月5日

#### 悬赏问题

• ¥20 Yolov5训练报错
• ¥15 Unity发布gzip压缩的webgl之后让浏览器可以正常显示画面
• ¥15 有没有人知道这种提示怎么关？现在不做ts项目了不知道咋关了，求解，现在我以前的js项目都是这种提示了
• ¥15 为什么mysql做了碎片化处理data_free还是很高
• ¥15 single positional indexer is out-of-bounds
• ¥15 LSTM 模型数据量需要多少？
• ¥15 mysql数据抓包开发报表
• ¥15 linux系统下安装office打不开
• ¥20 rsync脚本分发错误，文件不齐全
• ¥15 labview顺序结构与时间延时