编写函数fun,其定义为:int fun(int *s,int *pos,int m,int *n) 功能是:在含有m个元素的s数组中查找最大数及最大数所在位置(即下标值),最大数可能不止一个。最大数作为函数值返回,最大数的个数通过指针变量n传回main函数,所在位置由数组pos传回main函数。 main函数中定义10个长度的数组,输入n(n<=10)代表数组元素的具体个数,调用fun函数并输出结果。 输入样例1: 输入数组元素个数:10 输入数组元素:2 8 5 7 8 4 5 3 2 8 输出结果: 最大值:8 个数:3 所在下标是:1 4 9
时间: 2024-02-25 08:59:38 浏览: 64
以下是实现该功能的C代码:
```
#include <stdio.h>
int fun(int *s, int *pos, int m, int *n) {
int max = s[0];
int count = 0;
for (int i = 0; i < m; i++) {
if (s[i] > max) {
max = s[i];
}
}
for (int i = 0; i < m; i++) {
if (s[i] == max) {
pos[count] = i;
count++;
}
}
*n = count;
return max;
}
int main() {
int s[10];
int pos[10];
int n, m;
printf("输入数组元素个数:");
scanf("%d", &n);
printf("输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &s[i]);
}
m = n;
int max = fun(s, pos, m, &n);
printf("最大值:%d\n", max);
printf("个数:%d\n", n);
printf("所在下标是:");
for (int i = 0; i < n; i++) {
printf("%d ", pos[i]);
}
printf("\n");
return 0;
}
```
运行结果:
```
输入数组元素个数:10
输入数组元素:2 8 5 7 8 4 5 3 2 8
最大值:8
个数:3
所在下标是:1 4 9
```
阅读全文