从小到大排序问题
void sort(int num[],char name[N][8]){ int i,j,min,templ;
char temp2[8];
for (i=0;i<N-1;i++)
{min=i;
for (j=i;j<N;j++)
if (num[min]>num[j]) min=j;
templ=num[i];
strcpy(temp2,name[i]);
num[i]=num[min];
strcpy (name[i],name[min]);
num[min]=templ;
strcpy(name[min],temp2);
}
printf("\n result:\n");
for (i=0;i<N;i++)
printf("\n %5d%10s",num[i],name[i]);
}
这个程序min有什么用,直接用i、j替代min不行吗?为什么改成下面就不能排序了
void sort(int num[],char name[N][8])
{ int i,j,min,templ;
char temp2[8];
for (i=0;i<N-1;i++)
{
for (j=i;j<N;j++)
if (num[i]>num[j])
templ=num[i];
strcpy(temp2,name[i]);
num[i]=num[j];
strcpy (name[i],name[j]);
num[j]=templ;
strcpy(name[j],temp2);
}
printf("\n result:\n");
for (i=0;i<N;i++)
printf("\n %5d%10s",num[i],name[i]);
}