Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 检查编号是否为阿姆斯特朗编号c++;_C++ - Fatal编程技术网

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中的警告之外我没有回答。