一篇关于c++冒泡排序的习题及我的答案
一篇关于c++冒泡排序的习题及我的答案
南城小镇 发表于3年前
一篇关于c++冒泡排序的习题及我的答案
  • 发表于 3年前
  • 阅读 32
  • 收藏 1
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

摘要: c++冒泡排序

某大学开田径运动会,现有12名选手参加100米比赛,对应的运动员号及成绩如表所示
,请按运动员号顺序输入数据,按照成绩排名并输出,每一行输出名次、运动员号及成绩
。要求用冒泡法排序。
运动员号    成绩(秒)    运动员号    成绩(秒)
001           13. 6                031             14.9
002           14.8              036             12.6
010           12.0              037             13.4
011           12.7              102             12.5
023           15.6              325             15.3
025           13.4              438             12.7

vs2012

#include "stdafx.h"
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
class student{
public:
    int number;
    float mark;
    student()
    {

    }
    ~student()
    {

    }
    void init(int n,float m){
        number = n;
        mark=m;
    }
};
void bubble_sort(student *arra,float size)
{
    int i,j;
    student temp;
    for(j=0;j<size-1;j++)
    {
        for(i=0;i<size-1-j;i++)
        {
            if(arra[i].mark>arra[i+1].mark)
            {
                temp = arra[i];
                arra[i] = arra[i+1];
                arra[i+1] = temp;
            }
        }
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    int numbers[] = {001,002,010,011,023,025,031,036,037,102,325,438};
    float marks[] = {13.6,14.8,12.0,12.7,15.6,13.4,14.9,12.6,13.4,12.5,15.3,12.7};
    int size = 12;
    student *s = new student[12];
    for(int j=0;j<12;j++)
    {
        s[j].init(numbers[j],marks[j]);
    }
    bubble_sort(s,12);
    for(int i=0;i<size;i++)
    {
        cout<<"number:"<<s[i].number<<" mark is"<<s[i].mark<<endl;
    }
    system("pause");
    return 0;
}


共有 人打赏支持
粉丝 1
博文 17
码字总数 11735
×
南城小镇
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: