負でない整数 n を入力し、それを構成する数値の合計を返します。
例: 入力 5167 出力 19
考え
例えば。5167%10=7 5167/10%10=6 5167/100%10=1 5167/1000%10=5
5167 516 51 5
では、5167 を 4 位に分けて分けないようにするにはどうすればよいでしょうか?
つまり、n を最も高い位置まで分割し、下方への分割を停止するにはどうすればよいでしょうか?
n/10<10 の場合は除算しません。
コード
#include<stdio.h>
int fun(int n)
{
if(n>9) return fun(n/10)+n%10;
else return n;
}
int main()
{int n;
scanf("%d",&n);
printf("%d\n",fun(n));
return 0;
}