题目描述:将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变
输入描述:输入一个字符串
输出描述:字符中所有出现的数字前后加上符号“*”,其他字符保持不变
输入例子:Jkdi234klowe90a3
输出例子:Jkdi*234*klowe*90*a*3*
算法实现:
#include<iostream> #include<string>using namespace std; //************************************************ // * Author: 赵志乾 // * Date: 2017-2-20 // * Declaration: All Rigths Reserved !!! //***********************************************/ bool IsNumber(char c){ return c>='0'&&c<='9';} int main() { string instr; getline(cin,instr); if(IsNumber(instr[0])) cout<<"*"+instr.substr(0,1); else cout<<instr.substr(0,1); for(int i=1;i<instr.length();i++) { if(IsNumber(instr[i])&&IsNumber(instr[i-1])) { cout<<instr.substr(i,1); } else if(!IsNumber(instr[i])&&!IsNumber(instr[i-1])) { cout<<instr.substr(i,1); } else { cout<<"*"+instr.substr(i,1); } } if(IsNumber(instr[instr.length()-1])) { cout<<'*'; } cout<<endl; return 0; }
新闻热点
疑难解答
图片精选