n個の数字を入力し、正確に2 '9'の数字を入力する必要があります。 (たとえば、9193を入力するとプログラムがそれを入力しますが、73999または256を書き込むと出力は出ません)。 だから私はこのコード正確に2ナインの数字を見つける
int main(){
int a, n, i, count=0, y;
cin>>n;
for(i=1; i<=n; i++){
cin>>a; y=a;
while(y>0){
if(y%10==9) count++;
y=y/10;
}
if(count==2) cout<<a<<endl;
}
return 0;
}
を書きました。しかし、これは動作しない理由を私は理解できません。 私はそれを変更してこのように書くと動作します。
int main(){
int a, n, i, count, y;
cin>>n;
for(i=1; i<=n; i++){
count=0;
cin>>a; y=a;
while(y>0){
if(y%10==9) count++;
y=y/10;
}
if(count==2) cout<<a<<endl;
}
return 0;
}
これを私に説明していただければ幸いです。
新しい番号ごとに 'count'をリセットする必要があります。これは、それぞれの番号が独自のカウント数を持つためです。それについて何が混乱していますか? –
ああ、それは簡単でした:)助けてくれてありがとう:) – Lucy
各 "数字"を 'std :: string'に読んでください。そのように文字を数えるほうがはるかに簡単です。 –