import java.io.*;
class ArraySort {
public static void main(String []args) throws Exception {
BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in));
int a[],i,j,k,temp;
String c;
System.out.println("Input the number of array elements!");
c = keyin.readLine();
temp = Integer.parseInt(c);
a = new int[temp];
System.out.println(" Input "+temp+" numbers.One per Line!");
for(i=0; i<a.length; i++ ) {
c = keyin.readLine();
a[i] = Integer.parseInt(c);
}
System.out.println("After sorting!");
for(i=0; i<=a.length; i++) {
k = i;
for(j=i+1; j<a.length; j++){
if(a[j]<a[k]){
k = j;
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
for(i=0; i<a.length; i++) {
System.out.println(a[i]);
}
}
}
排序不正常,大家帮忙看看哪错了?
答案:2 悬赏:40 手机版
解决时间 2021-05-17 01:00
- 提问者网友:欲劫无渡
- 2021-05-16 13:43
最佳答案
- 五星知识达人网友:行雁书
- 2021-05-16 15:09
我试了几组结果都对啊
全部回答
- 1楼网友:酒安江南
- 2021-05-16 16:32
for(i=0; i<=a.length; i++) {
k = i;
for(j=i+1; j<a.length; j++){
if(a[j]<a[k]){
k = j;//这里变为j了 对比的对象不在是i了 所以这个位置是错的
//所以这句话删除
temp = a[i];
a[i] = a[k];//这里直接有 a[j]
a[k] = temp;//这里也直接用a[j]
}
}
; i<=a.length了 但 i =a.length的时候 a[i]就出错了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯