C语言,使用自定义函数找出一个一维数组中最大值和其在数组中位置。
时间: 2023-06-03 14:06:09 浏览: 103
可以的,以下是代码示例:
```c
#include <stdio.h>
int findMax(int arr[], int size)
{
int max = arr[0];
int maxIndex = 0;
for(int i = 1; i < size; i++)
{
if(arr[i] > max)
{
max = arr[i];
maxIndex = i;
}
}
printf("最大值为:%d , 最大值位置:%d\n", max, maxIndex);
return max;
}
int main()
{
int arr[] = {1, 3, 5, 2, 9};
int size = sizeof(arr) / sizeof(arr[0]);
findMax(arr, size);
return 0;
}
```
输出结果为:
```
最大值为:9 , 最大值位置:4
```
相关问题
请用C语言编写函数,找出一维数组最大值并返回下标
当然可以!下面是使用C语言编写的函数来找出一维数组的最大值并返回其下标的示例代码:
```c
#include <stdio.h>
int findMaxIndex(int arr[], int size) {
int maxIndex = 0; // 假设初始最大值下标为0
for (int i = 1; i < size; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i; // 更新最大值下标
}
}
return maxIndex;
}
int main() {
int arr[] = {5, 2, 9, 1, 7}; // 示例数组
int size = sizeof(arr) / sizeof(arr[0]); // 数组大小
int maxIndex = findMaxIndex(arr, size);
printf("最大值为:%d,下标为:%d\n", arr[maxIndex], maxIndex);
return 0;
}
```
在这个示例代码中,我们定义了一个 `findMaxIndex` 函数,该函数接受一个整数数组和数组大小作为参数。它通过遍历数组来查找最大值,并将最大值的下标存储在 `maxIndex` 变量中。然后,在 `main` 函数中调用 `findMaxIndex` 函数,并打印出最大值和其对应的下标。
运行以上代码,将输出:
```
最大值为:9,下标为:2
```
这表示数组中最大的元素是9,它的下标是2。
用c语言问题描述】自定义函数,求一个一维数组的最大值和平均值,在主函数调用并输出。
好的,下面就是 C 语言的代码实现:
```c
#include <stdio.h>
void maxAvg(int arr[], int size, int *max, double *avg) {
*max = arr[0]; // 最大值初始化为第一个元素
int sum = arr[0]; // 所有元素之和初始化为第一个元素
for (int i = 1; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i]; // 更新最大值
}
sum += arr[i]; // 累加元素
}
*avg = (double) sum / size; // 计算平均值
}
int main() {
int arr[] = {1, 3, 5, 7, 9};
int size = sizeof(arr) / sizeof(int);
int max;
double avg;
maxAvg(arr, size, &max, &avg);
printf("最大值为:%d\n", max);
printf("平均值为:%lf\n", avg);
return 0;
}
```
这个函数的实现过程很简单,就是遍历数组,找到最大值并累加所有元素的值,最后计算平均值。在主函数中,我们定义了一个整型数组和它的长度,然后调用 `maxAvg` 函数计算出最大值和平均值,最后输出结果。注意,为了能够修改 `max` 和 `avg` 的值,我们需要将它们的地址传递给 `maxAvg` 函数,因此在函数的参数中使用了指针。