求一组数中的最大值及其下标
时间: 2024-10-10 12:17:24 浏览: 49
给定n个数,可以通过数组来存储这些数,然后遍历数组,找到最大值及其下标。具体实现可以参考以下步骤:
1. 定义一个数组,用来存储n个数;
2. 通过循环输入n个数,并将其存储到数组中;
3. 定义一个变量max,用来存储最大值,初始值为数组的第一个元素,定义一个变量index,用来存储最大值的下标,初始值为0;
4. 遍历数组,如果当前元素大于max,则将max更新为当前元素,将index更新为当前元素的下标;
5. 输出max和index。
示例代码如下(使用C语言):
```
#include <stdio.h>
int main() {
int n, i, max, index;
int a[100]; // 假设最多输入100个数
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
max = a[0];
index = 0;
for (i = 1; i < n; i++) {
if (a[i] > max) {
max = a[i];
index = i;
}
}
printf("%d %d\n", max, index);
return 0;
}
```
相关问题
利用Fortran求一组数中的最大值最小值及其下标
以下是利用Fortran求一组数中的最大值最小值及其下标的示例代码:
```
program find_max_min_index
implicit none
integer :: n,i,max_index,min_index
real :: a(100),max_val,min_val
write(*,*) "Enter the number of elements in the array: "
read(*,*) n
write(*,*) "Enter the elements of the array: "
do i = 1, n
read(*,*) a(i)
end do
! Initialize max and min values with the first element
max_val = a(1)
min_val = a(1)
max_index = 1
min_index = 1
! Loop over the remaining elements of the array
do i = 2, n
if (a(i) > max_val) then
max_val = a(i)
max_index = i
end if
if (a(i) < min_val) then
min_val = a(i)
min_index = i
end if
end do
write(*,*) "Maximum value: ", max_val
write(*,*) "Index of maximum value: ", max_index
write(*,*) "Minimum value: ", min_val
write(*,*) "Index of minimum value: ", min_index
end program find_max_min_index
```
在这个示例程序中,我们首先读取用户输入的数组大小和数组元素,然后使用一个循环遍历数组中的所有元素,同时更新最大值、最小值及其对应的下标。最终输出求得的最大值、最小值及其下标。
求最大值及其下标c语言
可以使用一个循环来遍历数组,同时记录最大值及其下标。具体实现如下:
```c
int arr[] = {1, 3, 5, 2, 4}; // 定义一个数组
int max_val = arr[0]; // 初始化最大值为数组第一个元素
int max_idx = 0; // 初始化最大值下标为0
for (int i = 1; i < sizeof(arr) / sizeof(int); i++) {
if (arr[i] > max_val) { // 如果当前元素大于最大值
max_val = arr[i]; // 更新最大值
max_idx = i; // 更新最大值下标
}
}
printf("最大值是%d,下标是%d\n", max_val, max_idx);
```
上述代码中,`sizeof(arr) / sizeof(int)` 可以计算出数组的长度,从而遍历整个数组。在循环中,如果当前元素大于最大值,则更新最大值及其下标。最终输出最大值及其下标。
阅读全文