用c语言编译:通过函数实现求整型数组的最大值的位置。函数参数是数组首地址和元素个数,返回值是第一个最大值的位置。通过主函数定义10个元素的数组输入数据调用函数输出结果
时间: 2023-06-18 17:02:40 浏览: 125
以下是用 C 语言编写的代码:
```c
#include <stdio.h>
int max_pos(int arr[], int n) {
int max = arr[0], pos = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
pos = i;
}
}
return pos;
}
int main() {
int arr[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
int maxp = max_pos(arr, 10);
printf("第一个最大值的位置是:%d\n", maxp);
return 0;
}
```
首先,我们定义了一个 `max_pos` 函数,它接受一个整型数组和数组元素个数作为参数,返回第一个最大值的位置。在函数内部,我们遍历数组,找到最大值,并记录它的位置。然后,我们在主函数中定义了一个大小为 10 的数组,并从标准输入中读入 10 个整数。接着,我们调用 `max_pos` 函数,得到第一个最大值的位置,并在屏幕上输出。
相关问题
完整的c语言,运用函数找到一维数组最大元素所在位置
好的,以下是使用 C 语言编写的一个函数,可以找到一维数组中最大元素的位置:
```c
#include <stdio.h>
int find_max_index(int arr[], int size) {
int max_val = arr[0];
int max_index = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
max_index = i;
}
}
return max_index;
}
int main() {
int arr[] = {4, 2, 8, 5, 1, 9, 6};
int size = sizeof(arr) / sizeof(arr[0]);
int max_index = find_max_index(arr, size);
printf("The index of the maximum element is: %d\n", max_index);
return 0;
}
```
这个程序定义了一个名为 `find_max_index` 的函数,它接收一个整数数组 `arr` 和数组的大小 `size` 作为参数,并返回最大元素的位置。函数内部使用一个 `for` 循环遍历数组中的每个元素,同时用两个变量 `max_val` 和 `max_index` 分别记录当前找到的最大值和它的下标。如果后面遍历到的某个元素比当前的最大值还要大,那么就更新 `max_val` 和 `max_index` 的值。最后返回 `max_index`。
在 `main` 函数中,我们定义了一个整型数组 `arr`,并初始化了它的值。我们还定义了一个变量 `size` 来记录数组的大小。然后,我们调用 `find_max_index` 函数来查找最大元素的位置,并将返回值存储在变量 `max_index` 中。最后,我们使用 `printf` 函数输出最大元素的位置。
你可以将这个程序复制到你的代码中,将数组的值替换为你想要查找最大元素的数组,然后编译并运行它,它会输出最大元素的位置。
阅读全文