写一个函数求出n个整数中的最大值及其所在位置,主函数通过键盘输入10个整数,然后通过函数调用求10个整数中的最大值及其所在位置并输出,使用C语言编写
时间: 2024-03-21 22:39:01 浏览: 99
好的,以下是使用 C 语言实现该功能的代码:
```c
#include <stdio.h>
void findMax(int arr[], int n, int* maxVal, int* maxPos) {
*maxVal = arr[0];
*maxPos = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > *maxVal) {
*maxVal = arr[i];
*maxPos = i;
}
}
}
int main() {
const int n = 10;
int arr[n];
for (int i = 0; i < n; i++) {
printf("请输入第%d个整数:", i+1);
scanf("%d", &arr[i]);
}
int maxVal, maxPos;
findMax(arr, n, &maxVal, &maxPos);
printf("最大值为:%d\n", maxVal);
printf("所在位置为:%d\n", maxPos);
return 0;
}
```
解释一下,`findMax` 函数接收一个整数数组 `arr`、数组长度 `n`,以及两个指针参数 `maxVal` 和 `maxPos`。函数遍历数组,找到最大值及其所在位置,将它们分别赋值给 `*maxVal` 和 `*maxPos`。主函数中先从键盘输入 10 个整数,然后调用 `findMax` 函数求出最大值及其所在位置,最后输出结果。注意,因为需要修改 `maxVal` 和 `maxPos` 的值,所以在调用函数时需要将它们的地址传递给函数。
阅读全文