【题目大概描述】输入一串非数字的字符串,将其“解压”。比如说"3a"解压后为"aaa",“4d"解压后为"dddd”,如果是一串数字后面加一个空格,比如”2 “,那么就输出两个空格。
【样例输入】
abcd3e4 se11z
【样例输出】
abcdeee sezzzzzzzzzzz
【样例输出说明】
中间的空格字符有4个
【可能的题解】
#include<iostream>
using namespace std;
//判断字符c是否为数字
bool is_num(char c)
{
return (c>='0'&&c<='9')?true:false;
}
//将字符c打印num遍
void print(char c,int num)
{
int i;
for(i=0;i<num;i++) cout << c;
}
int main ()
{
char s[501];
cin.getline(s,501);
for(int i=0;s[i]!='\0';i++)
{
if(is_num(s[i]))//如果遇到数字,就将数字保存到temp内
{
int temp=0;
for(;is_num(s[i]);i++)
{
temp*=10;//将temp乘10,留出个位数来存数
temp+=s[i]-'0';
}
print(s[i],temp);
}
else cout << s[i];
}
return 0;
}