【题目描述】
小 K 同学向小 P 同学发送了一个长度为 8 的 01 字符串来玩数字游戏,小 P 同学想要知道字符串中究竟有多少个 1。
注意:01 字符串为每一个字符是 0 或者 1 的字符串,如“101”(不含双引号)为一个长度为 3 的 01 字符串。
【输入】
只有一行,一个长度为 8 的 01 字符串 s。
【输出】
只有一行,包含一个整数,即 01 字符串中字符 1 的个数。
【输入样例】
00010100
【输出样例】
2
【提示】
【输入输出样例 1 说明】
该 01 字符串中有 2 个字符 1。
【输入样例 2】
11111111
【输出样例 2】
8
【数据规模与约定】
对于 20% 的数据,保证输入的字符全部为 0。
对于 100% 的数据,输入只可能包含字符 0 和字符 1,字符串长度固定为 8。
【解题思路】
逐字符检查
-
遍历字符串:从字符串的第一个字符开始,遍历字符串中的每一个字符。
-
检查并计数:对于每一个字符,检查它是否是
1
。- 如果是,计数器加1。
- 如果不是,则继续检查下一个字符。
-
输出计数结果:遍历完成后,计数器中的值即为字符串中
1
的总数。输出这个值。
【代码实现】
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
cin >> s; // 读入一个长度为8的01字符串
int count = 0; // 初始化计数器
for (int i = 0; i < s.length(); ++i) { // 遍历字符串的每个字符
if (s[i] == '1') {
count++; // 如果当前字符是1,则计数器加1
}
}
cout << count << endl; // 输出1的个数
return 0;
}