练习使用malloc和free函数,输入n及n个整数,输出它们的总和、最大数和最小数。
时间: 2024-05-09 12:21:58 浏览: 17
你好,欢迎使用ChitGPT进行问答交互!为了回答你的问题,我编写了以下C程序:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i, *a, sum = 0, max, min;
printf("请输入n:");
scanf("%d", &n);
a = (int*)malloc(n * sizeof(int)); // 动态分配内存
printf("请输入%d个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
sum += a[i]; // 计算总和
}
max = min = a[0]; // 初始化最大数和最小数
for (i = 1; i < n; i++) {
if (a[i] > max) {
max = a[i]; // 更新最大数
}
if (a[i] < min) {
min = a[i]; // 更新最小数
}
}
printf("总和:%d 最大数:%d 最小数:%d\n", sum, max, min);
free(a); // 释放内存
return 0;
}
```
你可以将以上程序保存为一个C文件,例如"sum_max_min.c",在终端中使用GCC编译并运行:
```
gcc sum_max_min.c -o sum_max_min
./sum_max_min
```
运行程序时,按照提示输入n和n个整数,即可输出它们的总和、最大数和最小数。留意到动态分配内存使用了 malloc(),释放内存空间使用了 free()。
我希望我的回答能够帮到你,有任何问题都可以随时问我哦!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)