华为OJ——表示数字

来源:互联网 发布:好听音乐网络歌曲 编辑:程序博客网 时间:2024/06/06 01:56

表示数字

题目描述

将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变
 public static String MarkNum(String pInStr)
 {
   return null;
 }

输入描述:

输入一个字符串

输出描述:

字符中所有出现的数字前后加上符号“*”,其他字符保持不变

输入例子:

Jkdi234klowe90a3

输出例子:

Jkdi*234*klowe*90*a*3*

解答代码:

#include<iostream>#include<fstream>#include<string>#include<cstring>#include<algorithm>#include<sstream>using namespace std;int judge(char ch){if(ch>='0' && ch <='9')return 1;else return 0;}int main(){string data;int i;while(cin>>data){int length=data.length();string result="";for(i=0;i<length;i++){if(judge(data[i])){if(!judge(data[i-1]) || i==0)result+="*";result+=data[i];}else{result+=data[i];if(i!=0 && judge(data[i-1])){result[result.length()-1]='*';result+=data[i];}}}if(judge(data[length-1]))result+="*";cout<<result<<endl;}return 0;}

0 0
原创粉丝点击