C++ 检查编号是否为阿姆斯特朗编号c++;
我写这段代码是为了检查号码是否是阿姆斯特朗 代码-C++ 检查编号是否为阿姆斯特朗编号c++;,c++,C++,我写这段代码是为了检查号码是否是阿姆斯特朗 代码- int n; cin>>n; int sum=0; int originaln=n; while(n!=0){ int lastdigit= n%10; sum+= pow(lastdigit,3); n=n/10; } if(sum==originaln){ cout<<"Armstrong Number"<<endl; } else{
int n;
cin>>n;
int sum=0;
int originaln=n;
while(n!=0){
int lastdigit= n%10;
sum+= pow(lastdigit,3);
n=n/10;
}
if(sum==originaln){
cout<<"Armstrong Number"<<endl;
}
else{
cout<<"Not Armstrong"<<endl;
}
return 0;
intn;
cin>>n;
整数和=0;
int-originaln=n;
而(n!=0){
int lastdigit=n%10;
总和+=功率(最后一位数字,3);
n=n/10;
}
如果(总和==原始数){
cout用于计算浮点数,其结果可能包含错误。避免将其用于计算整数
换句话说,你应该这样做
sum += lastdigit * lastdigit * lastdigit;
而不是
sum+= pow(lastdigit,3);
你的代码实际上没有输出任何东西,因为它是。你是否尝试过通过调试器调试这个程序/只是在代码中打印日志?你是否只需要三位数作为输入?我这样问是因为你提高到了三次方,而通常它应该是位数:你的代码实际上是153,当然除了c中的警告之外我没有回答。