求一组数中的最大值、最小值及总和。要求定义函数 int f(int a[],int n,int *pmax,int *pmin) 函数返回总和,并分别通过指针pmax 和 pmin将最大值、最小值赋值给主函数中的对应变量。 输入格式: 第1行为正整数n(n>2),表示一组数的个数 第2行包含n个整数,用空格分隔。 输出格式: 一行包含3个整数,分别为最大值、最小值及总和cC语言
时间: 2024-02-12 11:05:46 浏览: 142
以下是符合要求的C语言代码:
```
#include <stdio.h>
int f(int a[], int n, int *pmax, int *pmin);
int main() {
int n, a[100], max, min, sum;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
sum = f(a, n, &max, &min);
printf("%d %d %d", max, min, sum);
return 0;
}
int f(int a[], int n, int *pmax, int *pmin) {
int sum = 0;
*pmax = *pmin = a[0];
for (int i = 0; i < n; i++) {
sum += a[i];
if (a[i] > *pmax) {
*pmax = a[i];
}
if (a[i] < *pmin) {
*pmin = a[i];
}
}
return sum;
}
```
函数`f`的作用是计算数组`a`中元素的最大值、最小值和总和,并将最大值和最小值通过指针`pmax`和`pmin`返回给主函数。主函数中,先读入数组`a`,然后调用函数`f`计算结果,并输出最大值、最小值和总和。
阅读全文