C语言求五个数中间数,帮我看看我错在哪里。谢谢。

2025-05-16 16:13:04
推荐回答(4个)
回答(1):

你的程序逻辑性有点乱,第一个if语句把前三个数的较小数变为下标为二的数,第二个又把后三个数的较大数放到二,这样并不能保证【2】就是中间数。建议用冒泡排序从小到大,然后直接输出mid[2]

回答(2):

你的逻辑是有问题的,中位数并不是你这么定义的,你的局部满足判断不代表全局满足。

回答(3):

代码并没有对mid[2]进行处理,只需将两个for中的判断都带上‘=’。

for(i=0;i<=2;i++)
for(m=4;m>=2;m--)

回答(4):

for(i = 1; i < 5; i++){
for(j = 0; j < 5; j++){
if(mid[ j ] > mid[ j+ 1 ]){
int temp = mid[j];
mid[j] = mid[j + 1];
mid[ j + 1 ] = temp;
}
}
}

return mid[ 2 ];