如何在C语言中设计一个程序来接受用户输入n个整数并存储到数组中?
时间: 2024-10-27 18:10:14 浏览: 28
在C语言中,你可以通过以下步骤设计一个程序来接受用户输入的n个整数并存储到数组中:
1. 首先,你需要定义一个数组,它的大小由用户输入的变量'n'确定。例如,如果你不知道具体的n值,可以使用动态内存分配。
```c
int *numbers; // 用于存放整数的指针
size_t n;
```
2. 然后请求用户输入整数的数量'n'。这里我们假设用户会给出一个正整数。
```c
scanf("%zu", &n); // 使用%zu来读取无符号整数
numbers = (int*)malloc(n * sizeof(int)); // 动态分配n个整数的空间
if (numbers == NULL) {
printf("内存分配失败!\n");
return 1; // 处理错误情况
}
```
3. 接下来,遍历n次,每次循环让用户输入一个整数,并将其存入数组。
```c
for (size_t i = 0; i < n; i++) {
scanf("%d", &numbers[i]);
}
```
4. 最后,记得在程序结束前释放已经分配的内存,以避免内存泄漏。
```c
free(numbers);
```
完整示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
size_t n;
printf("请输入整数的数量: ");
scanf("%zu", &n);
int *numbers = (int*)malloc(n * sizeof(int));
if (numbers == NULL) {
printf("内存分配失败!\n");
return 1;
}
for (size_t i = 0; i < n; i++) {
printf("请输入第 %zu 个整数: ", i + 1);
scanf("%d", &numbers[i]);
}
printf("您输入的整数为: ");
for (size_t i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
free(numbers);
return 0;
}
阅读全文