weixin_53185809 2022-07-29 14:10 采纳率: 90.9%
浏览 37
已结题

关于#数据追踪#的问题,如何解决?

题目是:
小图灵面前有一个整数序列,由n个整数组成,两两不同。他即将对序列进行从小到大的排序,但他更想知道的是,其中某个元素排序后的
位置。请输出初始序列中的第k个元素排序后会成为第几个元素。

我的代码:


#include<bits/stdc++.h>
using namespace std;
int n,m,cnt=0,k;
int a[10000];
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    k=a[m-1];
    sort(a,a+n);
    while(a[cnt]!=k)
    {
        cnt++;
    }
    cout<<cnt;
}

结果不对,请问一下应该怎样修改

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-07-29 14:37
    关注

    for(int i=1;i<=n;i++)
    改为
    for(int i=0;i<n;i++)
    数组下标是从0开始的

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

报告相同问题?

问题事件

  • 系统已结题 8月20日
  • 已采纳回答 8月12日
  • 修改了问题 7月29日
  • 创建了问题 7月29日