C 言語 - 負でない整数 n を入力し、それを構成する数値の合計を返します。

負でない整数 n を入力し、それを構成する数値の合計を返します。

例: 入力 5167 出力 19

  1. 考え

例えば。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 の場合は除算しません。

  1. コード

#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;
}

おすすめ

転載: blog.csdn.net/outdated_socks/article/details/129307551