专栏文章
P5660 [CSP-J2019] 数字游戏 题解
P5660题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @miqo2lhn
- 此快照首次捕获于
- 2025/12/04 07:57 3 个月前
- 此快照最后确认于
- 2025/12/04 07:57 3 个月前
本题比较简单,使用 char 数组或使用 string 都可,这里使用 string 并讲解几个新手易错点。
- 下标从 开始。
- 注意
s.size()函数是unsigned类型,不能直接参与int类型的运算,因此要采用for(int i=0;i<s.size();i++)来遍历字符串。 - 判断时将
'1'写成1导致错误。
注意到本题保证输入的字符串长度一定为 ,且字符串中只包含字符 和字符 ,不难发现后者是不必要的。对于前者,由于字符串长度固定,如果你不想使用
s.size() 函数,请务必注意循环条件中的上界,应写为 或 。注意以上几点,因为字符串最大长度只有 ,因此我们开一个 变量用于记录字符串中 的个数,遍历整个字符串,当遇到字符 时给 加 ,最后输出 即可。
CPP#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int main(){
string s;
cin>>s;
int cnt=0;
for(int i=0;i<s.size();i++){
if(s[i]=='1')cnt++;
}
cout<<cnt;
return 0;
}
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...