C语言先输入一个正整数n,再输入任意n个整数,计算并输出这n个整数的和。要求调用malloc实现。
时间: 2024-11-03 19:22:47 浏览: 14
在C语言中,我们可以使用`malloc`函数动态分配内存来存储输入的整数,并通过循环结构来计算它们的总和。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
printf("请输入正整数n: ");
scanf("%d", &n);
// 用malloc动态分配n个整数的空间
int *numbers = (int*) malloc(n * sizeof(int));
if (numbers == NULL) { // 检查内存分配是否成功
printf("内存分配失败!\n");
return 1;
}
int sum = 0;
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个整数: ", i + 1);
scanf("%d", &numbers[i]);
sum += numbers[i];
}
printf("这%d个整数的和为: %d\n", n, sum);
// 释放内存
free(numbers);
return 0;
}
```
在这个程序中,我们首先读取用户输入的整数`n`,然后用`malloc`创建一个大小为`n * sizeof(int)`的数组。接着,我们遍历数组,每次读入一个整数并累加到`sum`中。最后,记得使用`free`函数释放之前动态分配的内存,以防止内存泄漏。
阅读全文