小新的密码问题-蓝桥

题目链接:3.小新的密码问题 - 蓝桥云课 (lanqiao.cn)

解题思路:这题表述感觉有问题,说的是输入数字,我以为就是整形,导致一直错误,后面改成字符串形式才正确,总之就是判断1和0的个数,如果1的个数为1或者0的个数为1就输出“Yes”,否则输出“No”。

下面是c++代码:

#include 
using namespace std;
int main()
{
    // 请在此输入您的代码
    int t, oneSum = 0, zeroSum = 0;
    string s;
    cin >> t;
    while (t != 0) {
        cin >> s;
        for (int i = 0; i < s.length(); i++) {
            if (s[i] == '1') {
                oneSum++;
            }
            else {
                zeroSum++;
            }
        }
        if (oneSum == 1 || zeroSum == 1) {
            cout << "Yes";
        }
        else {
            cout << "No";
        }
        t--;
    }
    return 0;
}

你可能感兴趣的:(算法,c++,数据结构)