求数组中最大元素及最大元素的值和他们的下标c语言。
时间: 2024-05-01 17:23:11 浏览: 18
可以使用以下代码来求解:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 3, 9, 7, 1, 8};
int n = sizeof(arr) / sizeof(arr[0]);
int max = arr[0], index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
index = i;
}
}
printf("最大元素为 %d,下标为 %d\n", max, index);
return 0;
}
```
这里假设数组中至少有一个元素。程序先初始化最大值和下标为数组的第一个元素和0,然后遍历整个数组,每次比较当前元素和最大值的大小,如果当前元素更大,就更新最大值和下标。最后输出最大值和下标即可。
相关问题
编写c语言程序用指针查找数组中最大元素及其下标
以下是使用指针查找数组中最大元素及其下标的 C 语言程序:
```
#include <stdio.h>
int main() {
int arr[] = {3, 7, 2, 9, 4, 6, 1};
int len = sizeof(arr) / sizeof(arr[0]);
int max = *arr;
int index = 0;
for (int i = 0; i < len; i++) {
if (*(arr + i) > max) {
max = *(arr + i);
index = i;
}
}
printf("最大元素为 %d,下标为 %d\n", max, index);
return 0;
}
```
程序中,先定义了一个包含多个元素的整型数组 `arr`,并通过 `sizeof(arr) / sizeof(arr[0])` 计算出数组的长度。然后定义了两个变量 `max` 和 `index`,分别用来存储最大元素和其下标。
在 `for` 循环中,使用指针 `arr + i` 访问数组元素,并通过比较来判断当前元素是否是最大值。如果是,则更新 `max` 和 `index` 的值。
最后,输出最大元素和其下标。
C语言一维数组求最大值和下标
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 8, 3, 1, 9, 7, 6};
int n = sizeof(arr) / sizeof(arr[0]);
int max = arr[0];
int index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
index = i;
}
}
printf("最大值:%d\n下标:%d", max, index);
return 0;
}
```
输出结果如下:
```
最大值:9
下标:4
```
以上代码中,我们首先定义了一个数组 `arr`,并且使用 `sizeof` 函数计算出了数组的长度 `n`。接着,我们定义了变量 `max` 和 `index`,用于储存最大值和下标。然后,我们使用 for 循环遍历数组,如果当前元素大于最大值,则将当前元素赋值给 `max`,并且将当前的下标赋值给 `index`。最后,输出最大值和对应的下标即可。