c语言输入用空格隔开的一组数到数组中
时间: 2024-05-02 09:19:09 浏览: 115
好的,这是一个关于C语言输入数组的问题。您可以使用scanf函数和循环语句将输入的一组数存储到数组中。代码示例如下:
```c
int arr[100];
int n = 0; // n 表示输入的数的个数
printf("请输入一组用空格隔开的整数:");
while (scanf("%d", &arr[n]) == 1) {
n++;
}
// 输出输入的数
printf("输入的数为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
```
希望这样的回答能够解决您的问题。
相关问题
一个字符串有n组数字,用空格隔开,c语言编写程序用一个整形数组保存字符数组中的10组数字
可以先使用 `scanf` 函数读入字符串,然后使用 `strtok` 函数将字符串按照空格划分成多个子字符串,再将每个子字符串转换为整数保存到整形数组中。
具体实现代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STR_LEN 100
int main() {
char input_str[MAX_STR_LEN];
int nums[10];
int i = 0;
// 读入字符串
printf("请输入带有数字的字符串,用空格隔开:\n");
fgets(input_str, MAX_STR_LEN, stdin);
// 按照空格分割字符串,并将每个子字符串转换为整数保存到整形数组中
char *token = strtok(input_str, " ");
while (token != NULL && i < 10) {
nums[i++] = atoi(token);
token = strtok(NULL, " ");
}
// 输出整形数组
printf("整形数组中的数字为:\n");
for (int j = 0; j < i; j++) {
printf("%d ", nums[j]);
}
printf("\n");
return 0;
}
```
示例输入:
```
1 2 3 4 5 6 7 8 9 10 11
```
示例输出:
```
整形数组中的数字为:
1 2 3 4 5 6 7 8 9 10
```
一个字符串有10组数字,用空格隔开,c语言编写程序用一个整形数组保存字符数组中的10组数字
可以使用`sscanf()`函数来从字符串中提取数字,并将其存储到整型数组中。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
char str[] = "10 20 30 40 50 60 70 80 90 100";
int arr[10];
// 使用sscanf()函数从字符串中提取数字并存储到整型数组中
for (int i = 0; i < 10; i++) {
sscanf(str, "%d", &arr[i]);
str += 3; // 移动指针到下一个数字的位置
}
// 打印整型数组中的数字
printf("The integers are: ");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
The integers are: 10 20 30 40 50 60 70 80 90 100
```
阅读全文