现在的位置: 首页 > 综合 > 正文

结构体数组存放学生信息并排序输出

2018年01月18日 ⁄ 综合 ⁄ 共 688字 ⁄ 字号 评论关闭

使用选择法进行排序,代码:

#include<iostream>
using namespace std;
struct Students
    {
           int num;
           char name[20];
           char sex;
           int score;
    };
int main()
{
    struct Students su[5]
    ={
           {1001,"xway",'M',93},{1002,"minve",'F',49},{1003,"glove",'F',43},
           {1004,"sk",'M',65},{1005,"fys",'M',86}
    };
    struct Students temp;
    const int n=5;
    int i,j,k;
    cout<<"before sort:"<<endl;
    for(i=0;i<n;i++)
    printf("%4d %8s %c %3d\n",su[i].num,su[i].name,su[i].sex,su[i].score);
    
    
    cout<<"sortted:"<<endl;    
    for(i=0;i<n-1;i++){
    k=i;//初始化最大值下标为当前起始位置 
    for(j=i+1;j<n;j++)
    if(su[j].score>su[k].score)//遍历并找到此次的最大值 
    k=i;//mark下标 
    temp=su[k];su[k]=su[i];su[i]=temp;//交换,吧=把此次的最大值放到当前位置 
    }
    
    
    for(i=0;i<n;i++)
    printf("%4d %8s %c %3d\n",su[i].num,su[i].name,su[i].sex,su[i].score);
    system("pause");
    return 0;
}
    
    

运行结果


抱歉!评论已关闭.