c语言通过fun计算并返回数组的最大值的位置。在主函数中输出最大值及位置
时间: 2024-01-21 18:18:47 浏览: 69
请参考下方代码实现:
```c
#include <stdio.h>
int find_max_index(int arr[], int size) {
int max = arr[0];
int index = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
index = i;
}
}
return index;
}
int main() {
int arr[] = {2, 5, 1, 8, 4};
int size = sizeof(arr) / sizeof(arr[0]);
int max_index = find_max_index(arr, size);
int max_value = arr[max_index];
printf("最大值为: %d\n", max_value);
printf("最大值位置为: %d\n", max_index);
return 0;
}
```
输出结果为:
```
最大值为: 8
最大值位置为: 3
```
相关问题
通过函数fun计算并返回数组最大值位置在主函数中输出最大值及其位置用c语言实现
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int fun(int arr[], int size)
{
int max_val = arr[0];
int max_idx = 0;
for (int i = 1; i < size; i++)
{
if (arr[i] > max_val)
{
max_val = arr[i];
max_idx = i;
}
}
return max_idx;
}
int main()
{
int size = 5;
int arr[] = {10, 2, 8, 6, 4};
int max_idx = fun(arr, size);
int max_val = arr[max_idx];
printf("The maximum value is %d, and its position is %d.\n", max_val, max_idx);
return 0;
}
```
在 `fun` 函数中,我们遍历整个数组,找到最大值以及其位置,然后返回最大值的下标。在 `main` 函数中,我们调用 `fun` 函数得到最大值的下标,然后再通过数组下标获取最大值,最后输出最大值以及其位置。
c语言通过fun计算并返回数组的最大值的位置。在主函数中输出最大值及位置利用指针
以下是一种可能的实现方式:
```c
#include <stdio.h>
int *find_max(int arr[], int size) {
int max = arr[0];
int max_index = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
max_index = i;
}
}
return &arr[max_index];
}
int main() {
int arr[] = {5, 2, 7, 1, 9, 3};
int size = sizeof(arr) / sizeof(arr[0]);
int *max_ptr = find_max(arr, size);
printf("The maximum value is %d at position %ld.\n", *max_ptr, max_ptr - arr);
return 0;
}
```
在 `find_max` 函数中,我们使用一个循环来遍历数组,找到最大值及其位置。为了返回位置,我们使用了指向数组元素的指针。在主函数中,我们调用 `find_max` 函数来获取最大值及其位置,然后使用指针运算来计算出位置在数组中的下标,并输出结果。注意,这里使用 `%ld` 格式符来输出指针的差值,因为 `max_ptr - arr` 是一个长整型数值。
阅读全文