C ++替换字符串中的一个或多个字符

时间:2018-09-20 16:18:00

标签: c++ string char character digits

我有一个任务,找不到解决方案。

在输入中有一个数字“ n”,其中包含稍后将要键入的字符串数。然后是一个字符串,一个接一个。它被认为是密码。字符串(密码)必须包含一个低位拉丁字符,一个高位拉丁字符和一个数字。

如果字符串仅包含小写字符,则其中的一些字符需要用大写字母和数字替换,例如:aaaaaa-> Aaaaa1

字符串的长度需要保持不变。

如果输入的字符串符合上述条件,则应在输入时将其打印出来。

这是我用C ++编写的代码... 我缺少替换所需字符的方法。 任何帮助将不胜感激。

#include <iostream>
#include <string>
using namespace std;


int main()
{
    int n;
    cin >> n;
    string s;
    int br1=0, br2=0, br3=0;
    for(int i=0;i<n;i++)
    {
        cin >> s;
        for(int j=0;j<s.length();j++)
        {
            if(s[j]>='a' && s[j]<='z')
                br1++;
            else if(s[j]>='A' && s[j]<='Z')
                br2++;
            else if(s[j]>='0' && s[j]<='9')
                br3++;
        }
        if(br1 && br2 && br3)
            cout<<s;
        //else

    }
    return 0;
}

0 个答案:

没有答案