本地输出正确,牛客网编译器输出有问题。

兄弟们,问一个题目,我的这个题目在本地的DevC++上运行结果是正确的,但到牛客网的编译器上就会报错,有明白的人能解答一下吗

题目描述

查找一个数组的第K小的数,注意同样大小算一样大。 如  2 1 3 4 5 2 第三小数为3。

输入描述:

输入有多组数据。
每组输入n,然后输入n个整数(1<=n<=1000),再输入k。

输出描述:

输出第k小的整数。
示例1

输入

复制
6
2 1 3 5 2 2
3

输出

复制
3
我的代码是这样的:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main(){
int counter = 0;//计数器
scanf("%d\n",&counter);

int arr[counter];//数字数组
int numdoll = 0;//数组计数器
while (scanf("%d",&arr[numdoll]) != EOF && getchar() != '\n'){
numdoll++;
} //循环读入多组整型数据,都以空格分隔。
int seq = 0;//第几小的数
scanf("%d",&seq);

int i,j,temp=0;
for(j=0;j<counter;j++){//冒泡排序
for(i=0;i<counter-j;i++){
if(arr[i]>arr[i+1]){
temp = arr[i+1];
arr[i+1] = arr[i];
arr[i] = temp;
}
}
}

int index=1;//下标
int b[counter];//存放不重复元素的数组
b[0] = arr[0];
for(int i=1;i<counter;i++){
if(arr[i]!=arr[i-1]){//如果当前遍历的元素和前一个元素不相等
b[index++] = arr[i];//存到b中
}
}
printf("%d",b[seq-1]);

}
实在不知道哪里有问题,希望大神给解答一下。

全部评论
好多题目都这样,明明自测ok,提交运行就不行
1 回复 分享
发布于 2020-02-06 19:08
我也是在自己的编译器上运行就是对的
点赞 回复 分享
发布于 2019-10-01 17:19
大家有遇到牛客编译不过 本地编译能过的情况吗  就只是编译问题 不是结果什么的
点赞 回复 分享
发布于 2020-03-16 22:41

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务