如何使输入的随机一串数字成为数组
时间: 2024-09-21 22:06:34 浏览: 37
如果你想将用户输入的一串随机数字转换成数组,你可以按照以下步骤操作:
1. 首先,你需要明确数组的类型和长度。假设我们想要创建一个包含整数的数组,并已知其长度(例如5),你可以这样做:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ARRAY_LENGTH 5
int main() {
char input[20]; // 输入字符串的临时存储
int numbers[ARRAY_LENGTH]; // 定义数组
printf("请输入一组数字,用空格隔开: ");
fgets(input, sizeof(input), stdin); // 获取用户输入,包括换行符
// 移除输入字符串末尾的换行符
size_t length = strlen(input);
if (input[length - 1] == '\n') {
input[length - 1] = '\0';
}
// 将输入字符串分割成数组
char* token = strtok(input, " "); // 分割字符为" "
int index = 0;
while (token != NULL && index < ARRAY_LENGTH) {
numbers[index++] = atoi(token); // 将每个数字字符串转换为整数并存入数组
token = strtok(NULL, " "); // 继续分割直到所有元素都被处理
}
// 检查是否有超出数组长度的输入
if (index > ARRAY_LENGTH) {
printf("输入的数字太多,超过了数组长度。\n");
return 1;
}
// 现在numbers数组包含了用户的输入
for (int i = 0; i < ARRAY_LENGTH; i++) {
printf("numbers[%d] = %d\n", i, numbers[i]);
}
return 0;
}
```
在这个示例里,`fgets()` 用于获取用户输入,`strtok()` 用于按空格分割输入字符串,`atoi()` 负责将分割后的字符串转换为整数。
阅读全文