代码目的实现左边升序,右边降序,但结果为什么会多输出一行输入信息
bool comp(int lnum,int rnum){
if(lnum %2 == 0 && rnum%2 ==1){
return true;
} else if(lnum %2 == 0 && rnum %2 == 0 && lnum <rnum){
return true;
} else if(lnum %2 == 1 && rnum%2 == 1 && lnum >rnum){
return true;
} else{
return false;
}
}
void sortnum(){
int arr[10];
while (scanf("%d%d%d%d%d",arr,arr+1,arr+2,arr+3,arr+4) != EOF){
sort(arr,arr+5, comp);
for (int i= 0;i<5;i++){
printf("%d ",arr[i]);
}
printf("\n");
}
}
int main() {
// std::cout << "Hello, World!" << std::endl;
system("chcp 65001");
sortnum();
return 0;
}
1 4 2 5 2//输入
1 4 2 5 2
2 2 4 5 1//输出