PAT 1057 数零壹 (20 分)

#include<iostream>
#include<string>
using namespace std;
int main() {
    string str;
    int sum = 0, t;
    int a = 0, b = 0;
    getline(cin, str);
    for (int i = 0; i < str.length(); i++) {
        if (isalpha(str[i])) {
            sum += toupper(str[i]) - 'A' + 1;
        }
    }
    while (sum) {
        t = sum % 2;
        if (t)  a++;
        else    b++;
        sum /= 2;
    }
    cout << b << " " << a;
    return 0;
}
//判断字母->进行累加->转化二进制并计数

//  注意:题目说以回车键结尾,所以用getline也可以用gets或者getchar间接实现。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容