在我们日常生活中,我们总会遇见一些奇奇怪怪的字符串甚至包含一些空格之类的,例如vadjksndkjd83874287432h3dfus90di3jkd9qd3id。如果这时候我们想从中筛选数字出来,又应该怎么处理呢?我们不妨把情景改成例题,如下:
给定一个不限长度(为了方便我们直接限定100)的字符串,里面可能包含数字、字母、符号等。现需要你把里面的数字按序输出,并以空格分割。
Sample Input
4hy57g7
Sample Output
4 5 7 7
Sample Input
aaaabbbb
Sample Output
(无输出)
这时候就舒服多了
接下来进行思考:如何让编译器识别是不是数字呢?其实,这时候我们可以使用ASCⅡ码或者直接使用字符进行筛选。1.如果使用ASCⅡ码就是被检验字符在48到57之间(包括端点)2.如果是使用字符就是'0'<被检验字符<'9'(背不熟ASCⅡ码的绝佳方法)
接着我们要考虑一下被检验字符中有空格的问题,这时候输入得用gets了而不能用scanf。
最后就是框架成型力,定义字符数组>输入>检验>输出(直接拿下)。
下面给出源代码:
好了,分享到此为止,如果你有好的建议请在评论区留言,感谢。