当前位置: 代码迷 >> 综合 >> 1171 保留整数 sdut
  详细解决方案

1171 保留整数 sdut

热度:74   发布时间:2023-11-27 04:35:34.0

输入一个字符串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];elsea2[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;
}