C语言连续输入一行19个数字,每个数字中间有空格,并存入数组
时间: 2024-09-16 10:04:50 浏览: 132
统计单词个数&&将字符串中连续出现的数字放进一维数组
4星 · 用户满意度95%
在C语言中,如果你想连续输入一行包含19个数字并存储在数组中,可以使用`scanf`函数配合数组来实现。首先,你需要定义一个能容纳19个整数的数组,例如:
```c
#include <stdio.h>
#define NUM_DIGITS 19
int numbers[NUM_DIGITS];
int main() {
char input[20]; // 估计用户会输入最多19个数字加上空格,这里加多一位空间用于读取换行符
printf("请输入19个数字,每个数字间用空格分隔:");
fgets(input, sizeof(input), stdin); // 使用fgets读取一整行
int i = 0;
for (char *ptr = input; i < NUM_DIGITS && ptr != NULL && *ptr != '\n'; i++) { // 避免读取换行符
if (*ptr == ' ') {
ptr++; // 跳过空格
continue;
}
numbers[i] = atoi(ptr); // 将字符转成整数并存入数组
ptr++;
}
// 检查是否所有数字都已读取
if (i == NUM_DIGITS) {
printf("输入的19个数字已成功保存到数组中。\n");
} else {
printf("未读取完整,只读取了%d个数字。\n", i);
}
return 0;
}
```
在这个程序中,我们先提示用户输入,然后使用`fgets`获取输入的一行字符串。接着遍历这个字符串,遇到空格就跳过,直到读取到第19个数字或者换行符为止。
阅读全文