C ++计数

时间:2013-03-19 04:10:31

标签: c++

我有这个功能:

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

假设cal的结果是2008年。我想要做的是分别计算每个数字。

实施例

2008=2+0+0+8=10

但我不知道该怎么做。有任何想法吗?

由于

编辑:

另一个例子:

day=20
Month=03
Year=1993

20+03+1993=2016

And 2+0+1+6=9

1 个答案:

答案 0 :(得分:1)

这是你取任何数字的数字之和的方式。

模数除(%)运算符用于提取最后一位数。并保持运行总和以保持数字之和。最后的除法运算从数字中删除最后一个数字,这样在下一轮循环中,第二个最后一个数字可以用%来提取。

请记住,数字(num)是整数类型。因此,当您将数字除以10时,它会保留整数部分并丢弃任何小数部分。因此,2008/10 = 200而不是200.8。同样为了澄清%运算符,2008%10 = 8,因为8是将2008除以10的余数。

num=2008;    //put any number here
sum=0;
while(num>=0)
{
       digit=num%10;
       sum+=digit;
       num=num/10;
}
cout<<sum;