中间有可以简略或删除的部分请赐教,谢谢!
题目
方法
#include<stdio.h>
int main()
{
int n,i,j,max,t;
scanf ("%d",&n);
int a[n];
for (i=0;i<n;i++){
scanf ("%d",&a[i]); /*数组的定义及数组元素存入*/
}
for (i=0;i<n-1;i++){ /*选择法:从第一项开始,把该项和它之后的每一项依次比较*/
max=i;
for (j=i+1;j<n;j++){
if (a[max]<a[j])
max=j;
}
t=a[i];/*比较后得到最大的一项,进行换位*/
a[i]=a[max];
a[max]=t;
}
for (i=0;i<n;i++){
printf ("%d",a[i]);
if (i!=n-1)
printf (" "); /*依次输出数组元素,注意“行末不得有多余空格”这一测点*/
}
return 0;
}