c语言求一组数据(数组)的最大值并返回下标
时间: 2023-06-27 16:02:55 浏览: 186
可以使用循环遍历数组中的每个元素,记录最大值和最大值对应的下标。代码如下:
```c
#include <stdio.h>
int main() {
int arr[] = {23, 56, 12, 90, 34};
int n = sizeof(arr) / sizeof(arr[0]);
int max = arr[0];
int maxIndex = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
maxIndex = i;
}
}
printf("最大值为 %d,下标为 %d\n", max, maxIndex);
return 0;
}
```
输出:
```
最大值为 90,下标为 3
```
相关问题
请用C语言编写函数,找出一维数组最大值并返回下标
当然可以!下面是使用C语言编写的函数来找出一维数组的最大值并返回其下标的示例代码:
```c
#include <stdio.h>
int findMaxIndex(int arr[], int size) {
int maxIndex = 0; // 假设初始最大值下标为0
for (int i = 1; i < size; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i; // 更新最大值下标
}
}
return maxIndex;
}
int main() {
int arr[] = {5, 2, 9, 1, 7}; // 示例数组
int size = sizeof(arr) / sizeof(arr[0]); // 数组大小
int maxIndex = findMaxIndex(arr, size);
printf("最大值为:%d,下标为:%d\n", arr[maxIndex], maxIndex);
return 0;
}
```
在这个示例代码中,我们定义了一个 `findMaxIndex` 函数,该函数接受一个整数数组和数组大小作为参数。它通过遍历数组来查找最大值,并将最大值的下标存储在 `maxIndex` 变量中。然后,在 `main` 函数中调用 `findMaxIndex` 函数,并打印出最大值和其对应的下标。
运行以上代码,将输出:
```
最大值为:9,下标为:2
```
这表示数组中最大的元素是9,它的下标是2。
c语言求二维数组最大值及下标
要求二维数组的最大值及下标,可以通过两层循环遍历数组来实现。具体步骤如下:
1. 定义一个变量max,用来记录最大值,初值设为数组中的第一个元素;
2. 定义两个变量row和col,用来记录最大值的行号和列号,初值都设为0;
3. 用两层循环遍历二维数组中的每一个元素:
- 如果当前元素的值比max大,就把max更新为当前元素的值,并将row和col更新为当前元素所在的行号和列号。
4. 遍历完成后,max就是二维数组中的最大值,而row和col分别记录了最大值所在的行号和列号。
下面是一个示例代码:
```
#include <stdio.h>
int main()
{
int arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int max = arr, row = 0, col = 0;
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
if (arr[i][j] > max) {
max = arr[i][j];
row = i;
col = j;
}
}
}
printf("Max value is %d, located at [%d][%d]\n", max, row, col);
return 0;
}
阅读全文