C语言关于选择排序法的问题

#include"stdio.h"
#define N 10
int main() 
{
int i,j,min,tem,a[N]; 
for(i=0;i     scanf("%d",&a[i]);
for(i=0;i {
    min=i; 
    for(j=i+1;j          if(a[min]>a[j]) 
         min=j; 
    tem=a[i]; 
    a[i]=a[min]; 
    a[min]=tem;
 } 
 for(i=0;i<N;i++) 
printf("%5d",a[i]);
retuen 0;
 } 
代码用手机匆忙打的,可能有些错误,不要在意那些细节,我主要是想问一下把代码:
     tem=a[i]; 
    a[i]=a[min]; 
    a[min]=tem;
修改成代码:
    tem=a[min]; 
    a[min]=a[i]; 
    a[i]=tem;
这样修改程序应该没错误吧?
至少在电脑上运行时结果与修改前是一样的。但是修改之后的代码提交到oj平台是错的,修改前的却正确的,最终结果一样,一对一错。而那段代码只不过是交换一下值,至于哪个先交换我觉得没什么影响。
求指点修改后那段代码放到整个程序中,应该没错吧?

如果你实测的时候结果是相同的,提交之后除了问题,那就应该不是代码的问题,谁先交换没有区别,你仔细看看你提交的代码是不是正确代码。

错了吧。看你的程序该交换 a[min]和a[j] 怎么成了和a[i]交换了?

  if(a[min]>a[j]) 
         min=j; 
    tem=a[i]; 
    a[i]=a[min]; 
    a[min]=tem;
 }