用户输入字符串,保留字符串中的数字并转换为整形,C语言写
时间: 2024-09-12 15:16:14 浏览: 61
在C语言中,要实现用户输入字符串并保留字符串中的数字同时将数字转换为整型,可以按照以下步骤进行:
1. 使用 `scanf` 函数或 `fgets` 函数获取用户输入的字符串。
2. 遍历字符串中的每个字符,检查是否为数字(通过检查字符是否在 '0' 到 '9' 的ASCII范围内)。
3. 如果是数字字符,可以使用 `strtol` 或 `atoi` 函数将其转换为整型。
4. 如果需要将所有数字连续存入另一个数组,可以通过条件判断和字符数组操作来实现。
下面是一个简单的示例代码,演示如何实现上述功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char input[100]; // 假设输入的字符串不超过99个字符
printf("请输入一个字符串:");
scanf("%99s", input); // 使用%99s限制读取的字符数,防止溢出
int num;
char numberStr[100] = ""; // 存储数字的字符串
int len = 0; // numberStr的长度计数器
// 遍历输入的字符串
for (int i = 0; i < strlen(input); i++) {
// 如果当前字符是数字
if (input[i] >= '0' && input[i] <= '9') {
// 将数字字符追加到numberStr
numberStr[len++] = input[i];
}
}
numberStr[len] = '\0'; // 确保字符串结束
// 将数字字符串转换为整型
num = atoi(numberStr);
printf("提取的数字为:%d\n", num);
return 0;
}
```
这个程序首先读取用户输入的字符串,然后遍历这个字符串,将其中的数字字符拼接到另一个字符串`numberStr`中。最后,使用`atoi`函数将这个数字字符串转换为整型,并输出结果。
阅读全文