看了视频教程关于选择排序的部分,我写了一个跟老师稍有区别的代码- #include <stdio.h>
- int main(int argc, const char * argv[]) {
- int a[5]={3,11,2,123,22},min;
-
- for (int i=0; i<5; i++) {
- printf("%d\t",a[i]);
- }
- printf("\n");
- for(int i=0;i<4;i++){
- min=a[i];//把要比较的数赋值给min
- for(int j=i+1;j<5;j++){
- if(min>a[j]){
- min=a[j];//如果被比较的数比min小就把这个数赋给min
- }
- }
- a[i]=min;//把min赋给最前面的元素
- }
-
- for (int i=0; i<5; i++) {
- printf("%d\t",a[i]);
- }
-
- return 0;
- }
复制代码 请问为什么这样打印的结果是:3 11 2 123 22 2 2 2 22 22 排序后的数字为什么不对了?
|
|