1、监哨值法
输出最大值的下标和元素值:
#include<stdio.h>
int num=0,i=0;
int listen=0;
for ( i=0;i<5;i++ )
{
scanf("%d",num);
if ( listen < num )
{
listen = num;
}
printf("最大值为:%d\n",listen);
}
2、选择排序
①:#include<stdio.h>
void main()
{
short score[]={9,4,6,3,7,2,5,1};
int i=0,j=0;// i未排序 j用于取最值
int listen=0;//监哨值法
int temp=0;
for ( i=0;i<7-1;i++ )
{
listen=i;
for( j=i+1;j<7;j++ )
{
if( score[listen] < score[j] )
listen=j;
}
//两数对换
if( i != listen )
{
temp = score[i];
score[i]=score[listen];
score[listen]=temp;
}
}
for( i=0;i<7;i++ )
printf("%d\n",score[i]);
}
②#include<stdio.h>