-1

我有这个功能:

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
4

1 回答 1

1

这是您获取任何数字的数字总和的方式。

模除 (%) 运算符用于提取最后一位数字。并保留一个运行总和以保持数字的总和。最后的除法操作会从数字中删除最后一个数字,以便在下一轮循环中,可以通过 % 提取倒数第​​二个数字。

请记住,number(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;
于 2013-03-19T04:16:57.493 回答