黑马程序员技术交流社区

标题: 选择排序法: 求解释if函数后面 i=j 的意义 [打印本页]

作者: 夜空守望者    时间: 2015-4-20 22:47
标题: 选择排序法: 求解释if函数后面 i=j 的意义

  1. #include <stdio.h>
  2. #define  N   4
  3. int main( )
  4. {
  5.     int  i,j,min,temp,a[N];
  6.     for(i=0;i<N;i++)
  7.         scanf("%d",  &a[i]);// &a[i]
  8.     printf("\n");
  9.    
  10.    
  11.    
  12.     for(i=0;  i<N-1 ;  i++)//  i<N-1
  13.    
  14.    
  15.     {min=i;//  假设a[i]是最小值
  16.         
  17.         for(j=i;j<N;j++)
  18.             //  假设a[min]币a[j]大,就让i=j,即a[i]=a[j]
  19.             if(a[min]>a[j])  i=j ;
  20.         
  21.         
  22.         // 我的错误答案 a[min]=a[j]------  最终正解是 i=j
  23.         //
  24.         temp=a[i];
  25.         a[i]=a[min];
  26.         a[min]=temp;
  27.     }
  28.    
  29.    
  30.    
  31.     for (i=0;i<N;i++)
  32.         printf("%5d",a[i]);
  33.     printf("\n");
  34. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2