第十一届蓝桥杯省赛第一场C++A/B组 解码 【简单 / 字符串】

在这里插入图片描述
https://www.acwing.com/problem/content/2068/

#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main(void)
{
    
    
	string a;
	string b="";
	cin>>a;
	for(int i=0;i<a.size();i++)
	{
    
    
		if(a[i]>='1'&&a[i]<='9')
		{
    
    
			for(int j=1;j<=a[i]-'0'-1;j++)
			{
    
    
				b=b+a[i-1];
			}
			continue;
		}
		b=b+a[i];		
	}
	cout<<b<<endl;
	return 0;
}

用isdigit()函数来简写代码

#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main(void)
{
    
    
	string a;
	string b="";
	cin>>a;
	for(int i=0;i<a.size();i++)
	{
    
    
		if(isdigit(a[i]))
		{
    
    
			for(int j=1;j<=a[i]-'0'-1;j++)
			{
    
    
				b=b+a[i-1];
			}
			continue;
		}
		b=b+a[i];		
	}
	cout<<b<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/bettle_king/article/details/115417153