-1

私はこの機能を持っています:

int calc (int day, int month , int year)
{
    int cal;
    cal=day+month+year;
    cout<<cal;
}

の結果が 2008 年であるとしましょうcal。私がやりたいことは、各数値を別々にカウントすることです。

例:

2008=2+0+0+8=10

しかし、私はそれを行う方法がわかりません。何か案は?

ありがとう

編集:

もう一つの例:

day=20
Month=03
Year=1993

20+03+1993=2016

And 2+0+1+6=9
4

1 に答える 1

1

これは、任意の数字の桁数の合計を取る方法です。

剰余除算 (%) 演算子は、最後の桁を抽出するために使用されます。桁数の合計を維持するために実行中の合計が保持されます。最後の除算演算では、桁から最後の数値が削除されるため、ループの次のラウンドで、最後から 2 番目の数値を % で抽出できます。

number(num) は整数型であることに注意してください。したがって、数値を 10 で割ると、整数部分が保持され、小数部分が破棄されます。したがって、2008/10=200 であり、200.8 ではありません。また、% 演算子を明確にするために、8 は 2008 を 10 で割った余りであるため、2008%10=8 となります。

num=2008;    //put any number here
sum=0;
while(num>=0)
{
       digit=num%10;
       sum+=digit;
       num=num/10;
}
cout<<sum;
于 2013-03-19T04:16:57.493 に答える