問題
問題文
すぬけ君は 1,2,3 の番号がついた 3 つのマスからなるマス目を持っています。 各マスには 0 か 1 が書かれており、マス i には si が書かれています。
すぬけ君は 1 が書かれたマスにビー玉を置きます。 ビー玉が置かれるマスがいくつあるか求めてください。
制約
- s1,s2,s3 は
1あるいは0
入力
入力は以下の形式で標準入力から与えられる。
s1s2s3
出力
答えを出力せよ。
入力例 1
101
出力例 1
2
- マス 1,3 にビー玉が置かれます
入力例 2
000
出力例 2
0
- ビー玉はどのマスにも置かれません
解答解説
#include<stdio.h>
int main(){
int count=0;
char st[3];
scanf("%s", &st);
for(int i=0; i<3; i++){
if(st[i] == '1'){
count++;
}
}
printf("%d", count);
}
🔍コードの解説
#include<stdio.h>
--標準入出力を使うためのライブラリ。
int main(){
--プログラムのエントリーポイント(ここから実行が始まる)。
int count=0;
--「1」が何個あるかを数える変数 count を0で初期化。
char st[3];
--長さ3の文字列(配列)st を定義(実際には末尾の \0 を含めて4文字必要ですが、このコードでは3文字と仮定)。
scanf("%s", &st);
--標準入力から文字列を読み取る。
for(int i=0; i<3; i++){
if(st[i] == '1'){
count++;
}
}
--文字列の各文字を見て、もし「1」なら count を1増やす。
printf("%d", count);
最後に「1」の個数を表示する。


