通过函数fun计算并返回数组最大值位置在主函数中输出最大值及其位置用c语言实现
时间: 2024-01-22 21:18:54 浏览: 75
以下是用 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计算并返回数组最大值的位置。在主函数中输出最大值及其位置
下面是一个示例代码,其中`fun`函数接受一个整型数组和其长度,返回最大值在数组中的位置:
```c
#include <stdio.h>
int fun(int arr[], int len) {
int max_index = 0;
for (int i = 1; i < len; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
}
return max_index;
}
int main() {
int arr[] = {5, 2, 7, 3, 9, 1};
int len = sizeof(arr) / sizeof(arr[0]);
int max_index = fun(arr, len);
printf("The maximum value is %d, which is at position %d\n", arr[max_index], max_index);
return 0;
}
```
运行结果:
```
The maximum value is 9, which is at position 4
```
编写c语言程序通过函数fun计算并返回数组最大值的位置,在主函数中输出最大值及其位置
以下是一个示例程序,其中fun函数用于计算并返回数组最大值的位置:
```c
#include <stdio.h>
int fun(int arr[], int size) {
int max = arr[0];
int max_pos = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
max_pos = i;
}
}
return max_pos;
}
int main() {
int arr[] = {3, 7, 2, 8, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int max_pos = fun(arr, size);
int max_val = arr[max_pos];
printf("最大值为: %d,位置为: %d\n", max_val, max_pos);
return 0;
}
```
程序中,我们定义了一个名为fun的函数,该函数接受一个整数数组和其大小作为参数,并返回数组中最大值的位置。在主函数中,我们定义一个整数数组arr,并使用fun函数计算其最大值及其位置,然后输出结果。
注意,我们需要在主函数中使用数组的大小来调用fun函数,因为在C语言中,数组作为参数传递给函数时会自动转换为指向第一个元素的指针。因此,函数无法确定数组的大小,我们需要手动传递数组的大小作为参数。
阅读全文