给出n个数,找出这n个数的最大值,最小值,和。 输入格式 第一行为整数n,表示数的个数。 第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。c语言
时间: 2024-10-29 18:17:41 浏览: 18
在C语言中,你可以通过使用数组和循环结构轻松找到一组数值的最大值、最小值和总和。以下是实现这个功能的一个基本示例:
```c
#include <stdio.h>
// 函数声明
void findMaxMinSum(int arr[], int n, int* max_val, int* min_val, int* sum);
int main() {
int n;
scanf("%d", &n);
// 声明并初始化数组
int numbers[n];
for (int i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
// 用于存储结果的变量
int max_val, min_val, total_sum = 0;
findMaxMinSum(numbers, n, &max_val, &min_val, &total_sum);
printf("最大值: %d\n", max_val);
printf("最小值: %d\n", min_val);
printf("和: %d\n", total_sum);
return 0;
}
// 定义函数,接收数组、长度以及指针地址作为参数
void findMaxMinSum(int arr[], int n, int* max_val, int* min_val, int* sum) {
*max_val = arr[0]; // 先假设第一个元素是最大的
*min_val = arr[0]; // 同理,先假设第一个元素是最小的
*sum = arr[0]; // 初始化总和
for (int i = 1; i < n; i++) {
if (arr[i] > *max_val) {
*max_val = arr[i]; // 更新最大值
}
if (arr[i] < *min_val) {
*min_val = arr[i]; // 更新最小值
}
*sum += arr[i]; // 累加到总和上
}
}
```
在这个程序中,`findMaxMinSum`函数遍历输入数组,逐个比较当前元素与已知的最大值和最小值,并更新它们。同时,它也在累加总和。
阅读全文