// 找出数组中最大数的下标
#include<stdio.h>
int max(int a[],int len)
{
int maxid = 0;
int i;
for( i=1; i<len; i++ )
{
if (a[i]>a[maxid])
{
maxid = i;
}
}
return maxid;
}
int main()
{
int a[]={2,45,6,12,87,34,90,24,23,11,65};
int maxid = max(a, sizeof(a)/sizeof(a[0]));
printf("%d\n", maxid);
return 0;
}
// 找出数组中最大的数,并且将它与末尾的数字交换
#include<stdio.h>
int max(int a[],int len)
{
int maxid = 0;
int i;
for( i=1; i<len; i++ )
{
if (a[i]>a[maxid])
{
maxid = i;
}
}
return maxid;
}
int main()
{
int a[]={2,45,6,12,87,34,90,24,23,11,65};
int maxid = max(a, sizeof(a)/sizeof(a[0]));
//swap a[maxid], a[len-1]
int t = a[maxid];
a[maxid] = a[sizeof(a)/sizeof(a[0])-1];
a[sizeof(a)/sizeof(a[0])-1] = t;
printf("%d\n", maxid);
return 0;
}
#include<stdio.h>
int max(int a[],int len)
{
int maxid = 0;
int i;
for( i=1; i<len; i++ )
{
if (a[i]>a[maxid])
{
maxid = i;
}
}
return maxid;
}
int main()
{
int a[]={2,45,6,12,87,34,90,24,23,11,65};
int len = sizeof(a)/sizeof(a[0]);
int i;
//选择排序
for( i=len-1; i>0 ; i--)
{
int maxid = max(a,i+1);
//swap a[maxid], a[len-1]
int t = a[maxid];
a[maxid] = a[i];
a[i] = t;
}
for( i=0; i<len; i++)
{
printf("%d ",a[i]);
}
return 0;
}