
请帮我解释一下程序中的这三句语句 temp=a[index]; a]index]=a[k]; a[k]=temp;
#include<stdio.h>intmain(void){inti,index,k,n,temp;inta[10];printf("Entern:");scanf("...
#include <stdio.h>
int main(void)
{
int i,index,k,n,temp;
int a[10];
printf("Enter n:");
scanf("%d",&n);
printf("Enter %d integers:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index] index=i;
temp=a[index];
a]index]=a[k];
a[k]=temp;
}
printf("After sorted:");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
return 0;
} 展开
int main(void)
{
int i,index,k,n,temp;
int a[10];
printf("Enter n:");
scanf("%d",&n);
printf("Enter %d integers:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index] index=i;
temp=a[index];
a]index]=a[k];
a[k]=temp;
}
printf("After sorted:");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
return 0;
} 展开
展开全部
这似乎是选择排序
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index] index=i;
temp=a[index];
a]index]=a[k];
a[k]=temp;
}
temp=a[index];
a]index]=a[k];
a[k]=temp;
这三句交换数据 a[index],a[k];的值。相当于自己内联了swap函数。
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index] index=i;
temp=a[index];
a]index]=a[k];
a[k]=temp;
}
temp=a[index];
a]index]=a[k];
a[k]=temp;
这三句交换数据 a[index],a[k];的值。相当于自己内联了swap函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询