c语言怎么一次输入n个数
时间: 2024-10-14 10:02:57 浏览: 4
在C语言中,如果你想一次性输入n个整数,可以使用循环结构配合数组来实现。下面是一个简单的示例,说明如何通过`fgets()`函数从标准输入流中读取用户输入并存储到数组中:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NUMS 10 // 设定最大输入数
int main() {
int n;
printf("请输入你想输入的数字个数: ");
if (scanf("%d", &n) != 1 || n > MAX_NUMS) { // 检查输入是否合法
printf("输入错误,数字个数应小于或等于 %d。\n", MAX_NUMS);
return 1;
}
int numbers[MAX_NUMS]; // 定义一个能存放n个整数的数组
char input[50]; // 用于暂存用户的输入,假设每个数最多4位
fgets(input, sizeof(input), stdin); // 首先读取一行
int i = 0; // 数组下标
while (i < n && sscanf(input, "%d", &numbers[i]) == 1) { // 逐个读取并存储
input[strcspn(input, "\n")] = '\0'; // 移除换行符
i++;
}
printf("你输入的%d个数是:\n", n);
for (i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,用户会被提示输入想要输入的数字个数,然后程序会读取这个数值,并尝试将其作为数组的长度。接着,用户会连续输入这些数字,每次输入都会被追加到`input`字符串里,直到达到设定的数量或者用户输入结束。