编写一个C语言程序,要求用户输入一个整数数组及其大小,然后查找并输出数组中的最大值及其对应的索引。
时间: 2024-12-15 21:15:08 浏览: 11
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
当然,我可以为您演示如何编写一个简单的C语言程序来实现这个功能。首先,我们需要创建一个函数`findMax`,它接受一个整数数组和其大小作为参数,然后遍历数组找出最大值及其索引。以下是完整的示例代码:
```c
#include <stdio.h>
// 函数声明
void findMax(int arr[], int size, int* maxIndex);
int main() {
int n;
printf("请输入数组的大小:");
scanf("%d", &n);
// 申请数组内存
int arr[n];
printf("请输入数组元素:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 找到最大值及其索引
int maxIndex;
findMax(arr, n, &maxIndex);
// 输出结果
if (maxIndex != -1) {
printf("最大值 %d 对应的索引是 %d\n", arr[maxIndex], maxIndex);
} else {
printf("数组为空或全为负数,无法找到最大值.\n");
}
return 0;
}
// 查找最大值的函数
void findMax(int arr[], int size, int* maxIndex) {
*maxIndex = -1
for (int i = 0; i < size; i++) {
if (arr[i] > arr[*maxIndex]) { // 如果当前元素大于已知的最大值
*maxIndex = i; // 更新最大索引
}
}
}
```
阅读全文