本帖最后由 lzs303 于 2021-12-3 12:58 编辑
看到冒泡算法自学了一下,程序如下,但是程序的结果中第一次运算就吧最大的数字41变成了0,死活弄不清楚哪里写错了,请高手指点一下,谢谢。
int zu[9]={2,5,3,9,41,-1,7,10,18};
int temp;
void setup() {
Serial.begin(9600);
}
void loop() {
for(int j=0;j<8;j++){
for(int i=0;i<9;i++){
if(zu>zu[i+1]){
temp = zu;
zu= zu[i+1];
zu[i+1]=temp;
}
Serial.print(zu);
Serial.print(" ");
}
Serial.println(" ");
}
for(;;){
}
}
结果如下
图片显示不了,结果请看这里。
2 3 5 9 -1 7 10 18 0
2 3 5 -1 7 9 10 0 18
2 3 -1 5 7 9 0 10 18
2 -1 3 5 7 0 9 10 18
-1 2 3 5 0 7 9 10 18
-1 2 3 0 5 7 9 10 18
-1 2 0 3 5 7 9 10 18
-1 0 2 3 5 7 9 10 18
|