c语言用户任意输入一个字符串(仅有数字和字母) 实现除了字符串前的数字字符保留,其它的数字字符全部删除
时间: 2024-09-08 09:03:16 浏览: 59
在C语言中,你可以使用`fgets`函数从用户处获取输入的字符串,然后结合`isalnum`函数判断每个字符是否为字母或数字。对于非字母数字字符,我们可以直接忽略。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char input[100];
int is_number = 0; // 标记当前字符是否为数字
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 获取用户输入
// 移除首部空格
if (input[0] == '\n') {
input++;
input[strlen(input) - 1] = '\0'; // 如果只有首行为空格,则去掉
}
for (int i = 0; input[i]; ++i) { // 遍历字符串
if (isdigit(input[i])) { // 判断字符是否为数字
if (!is_number) { // 如果不是第一个数字字符
is_number = 1;
}
} else if (isalpha(input[i])) { // 否则是字母
printf("%c", input[i]); // 输出该字母
}
}
return 0;
}
```
在这个程序中,我们遍历输入字符串,如果遇到数字字符并且不是第一个数字字符,我们就跳过它。如果是字母或者其他非数字非字母的字符,我们就打印出来。
阅读全文