我正在编写计算阿姆斯壮数字的C++类的程序。除了每个输出线应该为已读程序正常工作:计数器没有给出预期的结果
Armstrong number 1: xxx
Armstrong number 2: xxx
Armstrong number 3: xxx
Armstrong number 4: xxx, etc...
的计算是正确的,但柜台给予递增的数字“阿姆斯特朗1号”,2,3,只等反映实际阿姆斯特朗结果。我需要它来计算显示的行数。
代码如下。
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
// Change the console's background color.
system ("color F0");
// Declare the variables
int i = 0, counter = 1, var1, var2, var3, var4;
while (i < 1000)
{
var1 = i/100;
var2 = (i % 100)/10;
var3 = (i % 100) % 10;
var4 = (var1 * var1 * var1) + (var2 * var2 * var2) + (var3 * var3 * var3);
if (i == var4)
cout << "\n Armstrong number " << counter << ": " << var4;
counter++;
i++;
}
cout << "\n";
system ("pause");
return 0;
}
我该如何解决这个问题?
我所需要的是: 阿姆斯特朗编号1:0 阿姆斯特朗号2:1 阿姆斯特朗编号3:153 阿姆斯特朗号4:370
我得到的是: 阿姆斯特朗号码0:0 阿姆斯特朗数1:1 阿姆斯特朗数153:153 阿姆斯特朗数370:370
你期待什么样的价值?你有什么价值? – 2013-02-27 21:49:25