题目描述
输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。
输入
输入为一行字符串str1,其中可能包含空格。字符串长度不超过80个字符。
输出
输出处理好的字符串str2。
样例输入
$Ts!47&*s456 a23* +B9k
样例输出
*47*456*23*9*
参考代码
#include<stdio.h>
#include<string.h>
main()
{
int i = 0, j = 0, n;
char str1[80], str2[80];
gets(str1);
n = strlen(str1);
for (i = 0; i < n; i++)
{
if(str1[i] >= '0' && str1[i] <= '9')
{
str2[j] = str1[i];
j++;
} else
{
if(str2[j - 1] != '*')
{
str2[j] = '*';
j++;
}
}
}
for (i = 0; i < j; i++)
{
printf("%c", str2[i]);
}
return 0;
}
解析
暂无