【问题描述】 对输入的字符串(长度<100)进行数字字符和其他字符的提取,然后将提取得到的其他字符重新组成一个新的字符串输出,将提取得到的数字字符组合为一个整数,并输出该整数的两倍的值。 【输入形式】 字符串(长度<100) 【输出形式】 提取该字符串中的数字字符组成的一个整数的两倍的值及其它字符组成的字符串。用C语言
时间: 2024-03-23 21:41:34 浏览: 113
以下是基于C语言的程序实现,可以实现输入字符串并输出数字字符的两倍值和其他字符组成的字符串。
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int num = 0;
char other[100];
int other_index = 0;
printf("请输入一个字符串:");
scanf("%s", str);
for (int i = 0; i < strlen(str); i++) {
if (str[i] >= '0' && str[i] <= '9') {
num = num * 10 + str[i] - '0';
} else {
other[other_index++] = str[i];
}
}
other[other_index] = '\0';
printf("数字字符的两倍值为:%d\n", num * 2);
printf("其他字符组成的字符串为:%s\n", other);
return 0;
}
```
程序中使用了一个字符数组 `str` 存储输入的字符串,一个整数 `num` 存储提取出的数字字符组成的整数,一个字符数组 `other` 存储提取出的其他字符。程序通过遍历字符串 `str` 的每个字符,判断该字符是否为数字字符,如果是,则将其加入到整数 `num` 中;如果不是,则将其加入到字符数组 `other` 中。最后,程序分别输出数字字符的两倍值和其他字符组成的字符串。
注意,为了避免字符数组 `other` 中出现未知的字符,需要在字符数组 `other` 的末尾添加一个空字符 `'\0'`,以表示字符串的结束。
阅读全文