#include "stdafx.h"
#include
int main(int argc, char* argv[])
{
int swap=0;
int array[10];
printf("输入字符数字\n");
for(int k=0;k {
scanf("%d",&array[k]);
}
for(int i=0;i {
for(int j=0;j {
if(array[j]>array[j+1])
{
swap=array[j];
array[j]=array[j+1];
array[j+1]=array[j];
}
}
}
for(int b=0;b<10;b++)
{
printf("%4d",array[b]);
}
return 0;
}
问题如果解决,请点下我回答右边的采纳,谢谢
swap=array[j];
array[j]=array[j+1];
array[j+1]=swap; //这里错了
for(int i=0;i<array.size()-2;i++){
for(int j=i;array.size()-1;j++){
XXXXXX
}
}
主要是第二个for循环里面的j的赋值得和i对应上,不能重0开始
你改成这样子试试
for(int i=0;i<array.size()-1;i++){
for(int j=i;array.size()-1-i;j++){
XXXXXX
}
}
for(int i=0;i<array.size()-2;i++){
for(int j=i;array.size()-1;j++){
XXXXXX
}
}
主要是第二个for循环里面的j的赋值得和i对应上,不能重0开始
for(int i=0;i<array.size()-1;i++){
for(int j=i;array.size()-1-i;j++){
XXXXXX
}
}
楼上正解