如何把空格和数值的组合变成只含数值的数组 用c语言
时间: 2024-10-28 12:15:46 浏览: 5
C语言数组知识点总结.doc
在C语言中,如果你有一个包含空格和数值的字符串,并想要将其转换为仅包含数值的数组,你可以先遍历字符串,检查每个字符是否为数字,如果是,则添加到结果数组中。这里是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的功能
#define MAX_LENGTH 100 // 结果数组的最大长度
int main() {
char input[] = "1 2 3 four 5 six"; // 示例输入字符串
char* str = input;
int num_array[MAX_LENGTH];
int count = 0; // 记录有效数值的数量
int i;
while (*str != '\0') { // 遍历整个字符串
if (isdigit(*str)) { // 检查字符是否为数字
num_array[count] = *str - '0'; // 将字符转换为整数并存入数组
count++; // 数组元素增加
} else {
str++; // 如果不是数字,跳过空格
}
}
// 确保不会越界
num_array[count] = '\0'; // 添加终止符
num_array[count - 1] = '\0'; // 因为count可能没有实际增加,需要手动设置最后一个元素
printf("只含数值的数组: ");
for (i = 0; i < count; i++) {
printf("%d ", num_array[i]);
}
printf("\n");
return 0;
}
```
这个程序会创建一个新数组`num_array`,只存储字符串中的数字,并在结束时打印出来。注意,这种方法假设输入字符串中的数值都是正整数。如果需要处理负数、小数或其他情况,你需要修改字符转数字的部分。
阅读全文