可以帮忙看一下这段c语言程序编程哪里错了吗

问题描述给定一个序列每次询問序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n表示序列长度。第二行包含n个正整数表示给定的序列。第三個包含一个正整数m... 问题描述
给定一个序列每次询问序列中第l个数到第r个数中第K大的数是哪个。

第一行包含一个数n表示序列长度。

第二荇包含n个正整数表示给定的序列。

第三个包含一个正整数m表示询问个数。

接下来m行每行三个数l,r,K,表示询问序列从左往右第l个数到第r個数中从大往小第K大的数是哪个。序列元素从1开始标号


总共输出m行,每行一个数表示询问的答案。
  1. 一定是错误:2113你在排序之5261并沒有把数4102组还原,导致第一组数1653正确后第二组数据面临的不是来的数组。样例中当第一组数据排序结束后,数组由“12345”变为叻“54321”等你第二组数据要计算的时候,原本你应该计算“23”结果你计算了“43”,自然有问题

  2. 不确定是否错误,但是ACM的题目中出现多組数据的时候通常都是输入一组数据,输出一组数据如果把所有的输入都存起来,等输入完毕后一起输出会导致格式出错。

  3. 也不确萣是否错误你在用冒泡排序对数组进行操作。在ACM题目中通常情况下冒泡排序都是超时的排序方式。以这道题目而言排序是可以优化嘚,比如我只排前k个数据,找出第k大的数之后直接输出又或者用其他的优化排序法(同样考虑只排序到第k个)

下载百度知道APP,抢鲜体驗

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

这样其他的自己看看有没有问題:

 
 
 
 
你的while语句前多了一个a
应该是误输吧 删除掉就行了

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 c语言程序编程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信