在C++中输入一字符串,将其中的所有数字删除,并输出改动后的字符串及其长度,例如,输入ab123df354ADFx193,输出and f ADFx 8。
时间: 2023-05-21 13:01:22 浏览: 262
可以使用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, 100, stdin);
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (isdigit(str[i])) {
for (int j = i; j < len; j++) {
str[j] = str[j+1];
}
len--;
i--;
}
}
printf("改动后的字符串为:%s", str);
printf("长度为:%d", len);
return 0;
}
```
注意,这里使用了 `isdigit()` 函数来判断字符是否为数字,如果是数字,则将其删除。同时,由于删除数字后字符串的长度会发生变化,因此需要在删除数字时同时更新字符串的长度。
相关问题
用C++输入一字符串,将其中的所有数字删除,并输出改动后的字符串及其长度,例如,输入ab123df354ADFx193,输出abdfADFx
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入字符串:");
scanf("%s", str);
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++)
{
if (str[i] < '0' || str[i] > '9')
{
str[j++] = str[i];
}
}
str[j] = '\0'; // 字符串末尾要加'\0'
printf("改动后的字符串为:%s,长度为:%d\n", str, strlen(str));
return 0;
}
用c++输人一字符串,将其中的所有数字州除,并输出改动后的宇符串及其长度,例如,输人 ab123d1354ADFx193,输出 abdfADFx 8
```
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str); // 字符串长度
int index = 0; // 新字符串的下标
// 遍历原字符串,将非数字字符添加到新字符串中
for (int i = 0; i < len; i++) {
if (str[i] < '0' || str[i] > '9') {
str[index++] = str[i];
}
}
str[index] = '\0'; // 结尾添加'\0',形成新的字符串
printf("改动后的字符串:");
puts(str); // 输出新字符串
printf("字符串长度:%d\n", strlen(str)); // 输出字符串长度
return 0;
}
```
阅读全文