###実現したいこと
入力した数字の各桁の和を出力するプログラムを作成したい。
###作成したコード
#include<iostream> #include<string> using namespace std; int main(){ string str; int sum; while(1){ cin>>str; sum = 0; if(str[0]=='0'){ break; } for(int i=0; i<str.size(); i++){ sum += str[i]; } cout<<sum<<endl; } return 0; }
このコードで実行したら、例えば、入力が1の時、出力は49、入力が10の時、出力は97など、実現プしたいプログラムになっていません。
色々調べた結果、上のコードの15行目に「-'0'」を加えれば、実現したいプログラムになるのですが、なぜ「-'0'」が必要なのか理解できません。教えていただけたら幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。