Q_A_Qwu 2021-06-06 19:24 采纳率: 100%
浏览 79
已采纳

问大佬:为什么错了?

题目描述

       小红是数学科代表,上星期小红所在的班进行了数学测验,数学老师由于要忙于备课和改作业,叫小红帮忙将数学测验成绩排一下序,按从高到低进行排名,成绩相同的名次也相同,然后以此类推。现在请你编一个程序,帮小红完成数据排名的工作。

输入

       共有N+1行,第一行是一个正整数N(1<=N<=200),表示有N个学生的成绩,接下来有N行,每行第一个数表示学生的学号x(x<200),第二个数是该学生的数学测验成绩y(y>0)。

输出

       按成绩从高到低输出(成绩相同的学号小的排在前面),共有N行,每行三个数,分别为学生的学号、成绩、名次(两个数字之间用一个空格隔开)。

样例输入

4
1 125
3 90
4 138
2 125

样例输出

4 138 1
1 125 2
2 125 2
3 90 4

【三鑫的测评网站】:答案错误【0】

代码:

#include<iostream>
#include<cstdio>
using namespace std;
int a,b[1001],c[1001];
int main()
{
    cin>>a;
    for(int i=1;i<=a;i++)
        cin>>b[i]>>c[i];
    for(int i=1;i<=a;i++)
    {
        for(int j=i;j<=a;j++)
        {
            if(c[i]<c[j])
            {
                swap(b[i],b[j]);
                swap(c[i],c[j]);
            }
        }
    }
    for(int i=1;i<=a;i++)
    {
        if(c[i]==c[i-1])
        {
            cout<<b[i]<<" "<<c[i]<<" "<<i-1;
            printf("\n");
        }
        else
        {
            cout<<b[i]<<" "<<c[i]<<" "<<i;
            printf("\n");
        }
    }
    return 0;
}

 

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-06-06 20:55
    关注

    代码修改如下,如有帮助,请采纳一下,谢谢。

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int a,b[1001],c[1001];
    int main()
    {
    	cin>>a;
    	for(int i=1;i<=a;i++)
    		cin>>b[i]>>c[i];
    	for(int i=1;i<a;i++)
    	{
    		for(int j=1;j<=a-i;j++)
    		{
    			if(c[j]<c[j+1])
    			{
    				swap(b[j],b[j+1]);
    				swap(c[j],c[j+1]);
    			}
    		}
    	}
    	int pm = 1;
    	for(int i=1;i<=a;i++)
    	{
    		if (i == 1)
    		{
    			cout<<b[i]<<" "<<c[i]<<" "<< pm << endl;
    		}else
    		{
    			if(c[i]==c[i-1])
    				cout<<b[i]<<" "<<c[i]<<" "<< pm << endl;
    			else
    			{
    				pm++;
    				cout<<b[i]<<" "<<c[i]<<" "<< pm << endl;
    			}
    		}
    		
    	}
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable