#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;
}