Problem B: 零起点学算法81——找出数组中最大元素的位置(下标值)
分析
因为在数组中的每一个数据的位置已知且可以描述,所以不同于以往的输入数据,需要一个间接变量来存放和比较,所以在求最大值的时候只需要将数组中的每一个数进行直接比较即可。
Description
找出数组中最大的元素的下标。
Input
多组测试,每组先输入一个不大于10的整数n 然后是n个整数
Output
输出这n个整数中最大的元素及下标值
Sample Input
4
1 4 5 6
Sample Output
6 3
#include<stdio.h>
int main(void)
{
int n,a[10],i,max;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
max=0;
for(i=1;i<n;i++)
{
if(a[max]<a[i])
max=i;
}
printf("%d %d",a[max],max);
printf("\n");
}
return 0;
}
总结
1、数组中数据容易定位和描述。
2、比大小直接比较即可。