c语言输入一字符串 将其中的所有数字删除,并输出改动后的字符串及其长度
时间: 2023-05-29 19:06:05 浏览: 111
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, j;
printf("请输入字符串:");
scanf("%s", str);
// 删除数字
j = 0;
for (i = 0; i < strlen(str); i++) {
if (str[i] < '0' || str[i] > '9') {
str[j] = str[i];
j++;
}
}
str[j] = '\0'; // 字符串末尾加上'\0',构成一个新的字符串
printf("改动后的字符串为:%s\n", str);
printf("字符串长度为:%d\n", strlen(str));
return 0;
}
```
运行结果:
```
请输入字符串:abc123def456
改动后的字符串为:abcdef
字符串长度为:6
```
相关问题
编写“输入一字符串,将其中的所有数字删除,并输出改动后的字符串及长度”的C语言程序
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
int len = strlen(str);
int i, j = 0;
for (i = 0; i < len; i++) {
if (str[i] < '0' || str[i] > '9') { // 判断是否为数字
str[j++] = str[i]; // 不是数字则保留
}
}
str[j] = '\0'; // 字符串末尾添加结束符
printf("去除数字后的字符串为:%s,长度为:%d\n", str, j);
return 0;
}
```
C语言输入一字符串,统计其中数字字符的个数
好的,我可以为您提供代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[50];
int i, count = 0;
printf("请输入一个字符串:");
gets(str);
for(i=0; i<strlen(str); i++) {
if(str[i]>='0' && str[i]<='9') {
count++;
}
}
printf("字符串中数字字符的个数为:%d", count);
return 0;
}
```
解释一下代码:
首先,我们定义了一个字符数组 `str`,用于存放输入的字符串。
然后,我们使用 `gets()` 函数从控制台读取用户输入的字符串。
接着,我们使用一个 `for` 循环,遍历字符串中的每一个字符。在循环中,我们使用了一个条件语句,判断每一个字符是不是数字字符。如果是数字字符,那么就将计数器 `count` 的值加一。
最后,我们输出统计结果,即数字字符的个数。
希望这个代码能够帮到您!