#include<stdio.h> main() { int a[10],n,i,j,temp,

#include<stdio.h>
main()
{
int a[10],n,i,j,temp,min;
printf("input n=");
scanf("%d",&n);
printf("input array a[0] a[1]...a[%d]: \n",n-1);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("befor sort:array\n");
for(i=0;i<n;i++)
printf("%4d",a[i]);
printf("\n");
for(i=0;i<n;i++)
{
min=i;
for(j=i+1;j<n;j++)
if(a[j]<a[min])
min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%4d",a[i]);
printf("\n");
}
程序看不懂,给详细解释一下

第1个回答  推荐于2018-05-04
就是个排序,n表示你要输入数字的个数,然后将你输入的数字存入数组a[10]中,这里输入数字大小先后顺序不用管,下面有一个排序的程序段,
for(i=0;i<n;i++)
{
min=i;
for(j=i+1;j<n;j++)
if(a[j]<a[min])
min=j;
temp=a[i];
a[i]=a[min];
a[min]=temp;
}这个就是排序,这个就是将小的数放到前头,就是按数组a[0]a[1]a[2]顺序排放存入。最后排序完,数组a[10]中的数都是由小到大放置的了。
最后的循环就是将他们由小到大输出。printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%4d",a[i]);
将a[0]输出一直到a[n-1]的数全部输出为止。本回答被提问者和网友采纳
第2个回答  2013-11-28
排序,并输出最小值追答

查找最小值并输出

第3个回答  2013-11-28
稍微懂点的都能看懂吧。
相似回答