ある配列における各値の1の位の合計を計算するために2つのコード
C
1for(i=0; i<num; i++) 2 sum += a[i] % 10;
と
C
1for(i=0; i<num; i++) { 2 if(a[i] >= 10) 3 sum += a[i] % 10; 4 else 5 sum += a[i]; 6}
を考えたのですが、 どちらの方がコーディング力は良いのでしょうか。
後者に比べると前者は各値が10以上でなくても、つまり全ての値に対し"% 10"として合計に加えているので
無駄が多い気もしますが後者みたいに場合分けをするよりコードが単純で美しい気がします。
追記
また、各値の桁の数を足し合わせてから、合計を計算する場合、前者の方法では
C
1for(i=0; i<num; i++) 2 sum += a[i] % 10 + (a[i] % 100) / 10 + (a[i] % 1000) / 100..... ;
となり、もし値が1桁の場合だと計算が余分に多くなってしまい場合分けした方がいいとも思われますが場合によるのでしょうか。
回答5件
あなたの回答
tips
プレビュー