我有这个功能:
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
答案 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;