前提・実現したいこと
ある数字の文字列を2桁ずつ区切って、足し算をするプログラムを書こうとしています。
例) 123456 ならば 12+34+56=102
発生している問題・エラーメッセージ
2文字ずつ分割し、数字を数値には戻せていると思うのですが、 最後に2桁の数を繰り返し足してやる処理をどう書けばいいのかわかりません。 よろしくお願いいたします。
該当のソースコード
c言語 #define MAXLEN 128 void sum(char str[]) { int i,c1,c2,i1,i2,i3; for(i=0; str[i] !='\0'; i +=2){ //2文字ずつループ// c1 = str[i]; //1文字目// c2 = str[i+1]; //2文字目// i1 = c1 - '0'; //1文字目を数値へ// i2 = c2 - '0'; //2文字目を数値へ// i3 = 10*i1 + i2; //10の位と1の位を足す// i3 = i3 + i; //ここからがわかりません// } printf("%d",i3); printf("/n"); } int main(void) { char str[MAXLEN]; scanf("%s",str); sum(str); return 0; }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー