如何同时排序2个数组?

时间:2015-04-07 17:28:08

标签: arrays sorting struct

我有一个作业,我应该在其中创建一个结构并且其中包含2个成员,ID和分数。我要为200名学生生成一个唯一的ID,每个学生的分数在1-100之间。之后,我打印出排序后的ID,按ID排序后,按照它们的Score版本排序。

我的问题是如何将ID从最小到最大排序,但同时保留分配给它的分数?如果我对ID进行排序,则得分保持不变。即使在分类后,我也需要给定的分数来匹配ID。

struct students
{
    int studentID;
    int studentScore;
};

int main()
{

    // Local Variables
       students studentInfo[200];
       int counter = 0;

    for(int i=0; i<200;i++)
    {
    HERE:
        studentInfo[i].studentID = rand() % 500;  

        for(int k=0; k < counter; k++)
        {
            if(studentInfo[200].studentID == studentInfo[k].studentID)
            {
                goto HERE;
            }
        }

        counter++;
    }

    for(int i=0; i<200;i++)
    {
        studentInfo[i].studentScore = rand() % 100;       
    }

0 个答案:

没有答案