不知道为什么提交OJ通不过。
先保存下。再看看还有那里有问题。
思路具体是把非数字全部转化为*,然后去掉重复的*。
Description:
输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。
Input:
输入为一行字符串str1,其中可能包含空格。字符串长度不超过80个字符。
Output:
输出处理好的字符串str2。
Sample Input:
<pre>$Ts!47&*s456 a23* +B9k</pre>
Sample Output:
*47*456*23*9*
#include <stdio.h> #include <string.h> int main() { char str1[100]={0}; char str2[100]={0}; gets(str1); int s; s=strlen(str1); int i; for (i = 0; i < s; ++i) { if(str1[i]<‘0‘|| str1[i]>‘9‘ ) str1[i]=‘*‘; } for (i = 0; i < s; ++i) { if((str1[i]==‘*‘ && str1[i+1]!=‘*‘)||str1[i]!=‘*‘) str2[i]=str1[i]; printf("%c",str2[i]); } return 0; }
时间: 2024-10-26 02:17:02