将内存中的数据按空格分割,将分割后的整数存入数组 C语言
时间: 2024-05-12 15:19:47 浏览: 10
实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char* input = "1 2 3 4 5"; // 内存中的数据
int arr[5]; // 存储分割后的整数的数组
char* token = strtok(input, " "); // 使用空格分割字符串
int i = 0;
while (token != NULL) {
arr[i++] = atoi(token); // 将分割后的字符串转换为整数并存入数组
token = strtok(NULL, " ");
}
for (i = 0; i < 5; i++) {
printf("%d ", arr[i]); // 输出数组中的整数
}
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```
相关问题
将内存中的数据按空格分割,将分割后的整数存入数组
以下是Python代码示例:
```python
data = "1 2 3 4 5"
array = list(map(int, data.split()))
print(array)
```
输出结果:
```
[1, 2, 3, 4, 5]
```
首先,我们定义了一个字符串变量`data`,其中包含了我们要分割的数据。接着,我们通过`split()`函数将字符串按照空格分割成一个字符串列表。然后,我们使用`map()`函数将列表中的每个字符串转换成整数类型。最后,我们使用`list()`函数将转换后的整数列表转换成一个数组并打印输出。
c语言 将数组a中n个整数按相反顺序存放
下面是一种实现方式:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入整数的个数:");
scanf("%d", &n);
int a[n];
printf("请输入%d个整数:\n", n);
for(int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("原数组:");
for(int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
for(int i = 0; i < n/2; i++) {
int temp = a[i];
a[i] = a[n-1-i];
a[n-1-i] = temp;
}
printf("反转后的数组:");
for(int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
程序中先要输入整数的个数,然后输入这些整数,接着将数组按照相反顺序进行反转,最后输出反转后的数组。需要注意的是,反转操作只需要进行一半就可以了。