大家好,所有人都提前感谢那些试图回答或回答这个问题的人。
这些是我需要完成的任务,作为工程系学生,我走了多远。在下面的代码中我希望有类似的东西
19
90个
0
1
0
T M B B
我得到的答案是
请输入您的出生日期(dd mm yyyy):12 11 1981年
19个
的 8468304
按任意键继续 。 。 。
8468304
如何做到正确我知道我的等式是正确的或(公式,方法)。不过这就是我所知道的。
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
cout << "Please enter your birthdate (dd mm yyyy): ";
int day, month, year, count,rev;
int sum = 0;
cin >> day>> month >>year;
while (year!=0)
{
int count = year%10;
sum +=count;
year /= 10;
}
while(year>0)
{
rev = year%10;
year=year/10;
}
cout<<sum<<endl;
cout << rev;
system ("pause");
return 0;
}//end main
请帮忙!
答案 0 :(得分:4)
在你的第一个循环while (year != 0)
之后,你没有重置年份的值,所以它保持为零,第二个循环根本不执行。
您需要保存年份的值,并在开始第二次循环时使用它。
答案 1 :(得分:2)
关于组织的说明:我建议为每个任务编写一个子程序/函数,比如
int digit_sum(int year) {
/* ... */
return sum;
}
int reverse_difference(int year) {
/* ... */
return diff;
}
等等。通过这种方式,您还可以防止在第一次计算期间修改年份变量等错误而不保存原始值(正如David Winant已经指出的那样)。