Description
输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。
Input
输入为一行字符串str1,其中可能包含空格。字符串长度不超过80个字符。
Output
输出处理好的字符串str2。
Sample Input
$Ts!47&*s456 a23* +B9k
Sample Output
*47*456*23*9*#include <iostream> #include <cstring> #include <stdio.h> using namespace std; int number(char a); int main() { char *p,str[50]; int a[50],m=0,n,i; gets(str); p=str; n=strlen(str); for(i=0;i<10;i++) a[i]=0; for(i=0;i<n;i++) if((number(*(p+i)))) { if((number(*(p+i)))) a[m]=*(p+i)-48+a[m]*10; if(number(*(p+i+1))==0) m++; } if(!(number(*(p+0)))) {for(i=0;i<m;i++) if(a[i]!=0) cout<<"*"<<a[i]; if(!(number(*(p+n-1)))) cout<<"*";} else { for(i=0;i<m-1;i++) if(a[i]!=0) cout<<a[i]<<"*"; cout<<a[i]; if(!(number(*(p+n-1)))) cout<<"*"; } return 0; } int number(char a) { if(a>='0'&&a<='9') return 1; else return 0; }