请编写程序,实现找出整数数列中的最大值及其下标。
(1)请编写程序,实现找出整数数列中的最大值及其下标。
“查找最大值”的算法简介:先假定第一个数是最大值,用假定的最大值依次与数列后的数据进行比较。比较时,若假定的最大值小于后面的数据,则重新记录最大值及其置。
例如,数列 5、3、6、4、8、9、1。
先假定^5是最大值,下标为0。
因为5>3,所以最大值不变,下标不变。
因为5<6,所以重新记录最大值及下标,最大值变为6,下标变为2。
因为6>4,所以最大值不变,下标不变。
因为6<8,所以重新记录最大值及下标,最大值变为8,下标变为4。
因为8<9,所以重新记录最大值及下标,最大值变为9,下标变为5。
因为9>1,所以最大值不变,下标不变。
最终实现最大值及其下标的确定。
算法流程图如图所示:
#include <stdio.h>
int main()
{
int MAX = 0;
int n = 0;
int i = 0;
int arr[10] = { 0 };
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
MAX = arr[0];
for (i = 0; i < 10; i++)
{
if (arr[i] >= MAX)
{
MAX = arr[i];
n = i;
}
}
printf("最大值为:%d\n", MAX);
printf("下标为:%d", n);
return 0;
}