水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)你没有判别n的取值,要确保是一个三位数不然一定会出问题的,不如你输入一个两位数,n能对100就不会得到正确的结果。下面程序是一个简单例子:
输出所有的水仙花数
#include
int main()
{
for (int n=100;n<1000;n++)
{
if(n==(n/100)*(n/100)*(n/100)+(n%100/10)*(n%100/10)*(n%100/10)+(n%10)*(n%10)*(n%10))
cout<
}
如果还有问题可以给我留言,或直接Hi我。
查查 % 和 / 的优先级
% 和 / 的优先级一样的。。。。
判断那一块没有错吧。。。。
不过你的main函数是int类型的,最好有个返回值。。。。
没的话也能运行。。。。
我这边检验了153,没有错误。。。。
我不清楚你说的是什么错误。。。。
在程序末尾加上return 0;应该就没问题了。
没错
153 370 371 407 测试都没有问题
在包含头文件那句的下面加上这句:
using namespace std;
你没有使用std的命名空间不能直接用cout,cin函数
如果你不想加上面那句,那么就把cout,cin写成std::cout,std::cin