c语言实现删掉字符串中数字
时间: 2024-01-22 15:18:44 浏览: 138
可以使用C语言中的字符处理函数逐个遍历字符串中的每个字符,如果是数字则将其删除。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
void delete_digits(char *str) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (!isdigit(str[i])) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
delete_digits(str);
printf("删除数字后的字符串为:%s\n", str);
return 0;
}
```
在上述代码中,函数`delete_digits()`使用两个指针变量`i`和`j`分别指向输入字符串的当前位置和输出字符串的当前位置,遍历输入字符串中的每个字符,如果该字符不是数字,则将其保存到输出字符串中,并将指针`j`向后移动一位。最后在输出字符串的末尾添加一个空字符,表示字符串的结束。
相关问题
用c语言编写输入字符串 删除数字
在C语言中,编写一个程序来删除输入字符串中的数字通常涉及到遍历字符串,判断每个字符是否为数字,并将其从原始字符串中剔除。这里是一个简单的示例,使用了`ctype.h`头文件中的`isdigit()`函数来检查字符是否是数字:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void remove_digits(char* str) {
int i = 0;
while (str[i]) {
if (!isdigit(str[i])) {
str[++i] = str[i]; // 如果不是数字,则将当前字符移到新位置
} else {
str[i] = '\0'; // 将遇到的数字字符替换为空字符,跳过
}
}
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 注意fgets防止溢出
remove_digits(input);
input[strcspn(input, "\n")] = '\0'; // 移除fgets添加的换行符
printf("去除非数字后的字符串: %s\n", input);
return 0;
}
```
这个程序会读取用户输入的字符串,然后删除其中的所有数字字符,最后打印结果。
c语言删除字符串中的数字字符
可以使用C语言中的字符处理函数和循环语句来删除字符串中的数字字符。具体操作如下:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void remove_digits(char *str) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (!isdigit(str[i])) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
remove_digits(str);
printf("删除数字后的字符串为:%s", str);
return 0;
}
```
这段代码中,`remove_digits` 函数用来删除字符串中的数字字符,`isdigit` 函数用来判断字符是否为数字字符。在主函数中,使用 `fgets` 函数获取用户输入的字符串,然后调用 `remove_digits` 函数删除其中的数字字符,最后输出结果。
阅读全文