输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。
Input
输入为一行字符串str1,其中可能包含空格。字符串长度不超过80个字符。
Output
输出处理好的字符串str2。
Example Input
$Ts!47&s456 a23 +B9k
Example Output
47*456*23*9
提示:
整体代换,全局变化后,重新求值, 别局限于个体 代码属于借鉴,仅供参考。
PS:
有时候看全体比改变一个个细小节点快得多得多
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i,q,w;
char a2[81],a1[81];
gets(a1);
q=strlen(a1);
w=0;
for(i=0;i<q;i++)
{
if(a1[i]>='0'&&a1[i]<='9')
a2[i]=a1[i];
else
a2[i]='*';
}
for(i=0;i<q;i++)
{
if(a2[i]=='*'&&w==0)
{
printf("%c",a2[i]);
w=1;
}
if(a2[i]=='*'&&w!=0)
continue;
if(a2[i]>='0'&&a2[i]<='9')
{
printf("%c",a2[i]);
w=0;
}
}
printf("\n");
return 0;
}