可用C语言代码实现如下:
#include<stdio.h>
#define N 6
int max(int *,int);
main()
{int arry[N],i,ma;
printf("请输入数组arry:");
for(i=0;i<N;i++)
scanf("%d",&arry[i]);
ma=max(arry,N);
printf("%d\n",ma);
}
int max(int *arry,int n)
{int i,max,t,temp;
int *p;
p=arry;
for(i=0;i<n;i++)/*两两比较*/
{if(*(p+i)<*(p+i+1))/*如果前一个下标元素小于于后一个下标元素,把后一个下标值赋给t*/
t=i+1;
else if(*(p+i)>*(p+i+1))/*如果前一个下标元素大于后一个下标元素就实现值呼唤*/
{temp=*(p+i);
*(p+i)=*(p+i+1);
*(p+i+1)=temp;}
}
return t;/*返回t*/
}
扩展资料:
寻找最大值,可用排序算法:
1、冒泡排序
依次比较相邻两元素,若前一元素大于后一元素则交换之,直至最后一个元素即为最大;然后重新从首元素开始重复同样的操作,直至倒数第二个元素即为次大元素;依次类推。如同水中的气泡,依次将最大或最小元素气泡浮出水面。
2、选择排序
首先初始化最小元素索引值为首元素,依次遍历待排序数列,若遇到小于该最小索引位置处的元素则刷新最小索引为该较小元素的位置,直至遇到尾元素,结束一次遍历,并将最小索引处元素与首元素交换;然后,初始化最小索引值为第二个待排序数列元素位置,同样的操作,可得到数列第二个元素即为次小元素;以此类推。
参考资料: