
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;
}
该博客展示了如何利用C++中的isdigit函数优化代码,实现将输入字符串中每个数字n替换为n-1个前一个字符的过程。通过对比原始代码和优化后的代码,突显了函数应用在代码简洁性和效率上的提升。
1622

被折叠的 条评论
为什么被折叠?



