1322:线上赛打卡题2-字符串扩充
描述
把一个字符串几乎原样输出,但是其中如果遇到数字字符,那么该字符需要重复输出该数字那么多遍。如果遇到数字字符0,则不要输出该字符。
输入
一个正整数n,表示测试案例的数量。
每组案例由一个不含空格、tab的字符串组成。
输出
针对每组案例,把字符串几乎原样输出,但是其中如果遇到数字字符,那么该字符需要重复输出该数字那么多遍。如果遇到数字字符0,则不要输出该字符。
每组案例输出完都要换行。
样例输入
1
ab3c2
样例输出
ab333c22
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
cin >> n;
while (n--)
{
string a;
cin >> a;
for (int i = 0; i < a.length(); i++)
{
if (a[i] == '1' || a[i] == '2' || a[i] == '3' || a[i] == '4' || a[i] == '5' || a[i] == '6' || a[i] == '7' || a[i] == '8' || a[i] == '9')
{
for (int j = 0; j < a[i] - '0'; j++)
{
cout << a[i];
continue;
}
}
else if (a[i] == '0')
{
continue;
}
else
{
cout << a[i];
}
}
cout << endl;
}
return 0;
}
该代码片段展示了如何处理字符串,将遇到的数字字符按其数值重复输出,忽略字符'0'。程序读取输入的字符串,遍历每个字符,如果是1-9之间的数字,则重复输出相应次数;若为'0',则跳过;其他字符原样输出。
1453

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



