c++水仙花数,do while 和while

img

img


写了两种 dowhile,while两种但是运行出来都不对,望指出问题所在之处

把 if 判断 后面的 分号 都去掉

【相关推荐】



  • 这篇博客: c++循环控制之while和dowhile语法总结中的 特别注意:do while语句中,这个while后面的小括号必须接;(换行符) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    编写循环语句很简单,但是在我们实际编写代码时,令人头秃的往往是如何确定循环条件以及涉及到循环的所有变量。如常常会因是x<=10还是x<10而导致程序运行的结果与预期不符。故做循环类问题时,一定要多多留意。

    在循环结构编写时,我们更加倾向于选择for语句。很多情况下while和do while语句都可以转化为for语句。而且for语句对于我们阅读和理解这个循环到底要做什么更加方便。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

代码仅供参考


#include<iostream> 
using namespace std;
int main() {
     int n ;
     int g, s, b ;
     
    while( cin >> n ){
        int m = n ;
        g = n % 10 ;
        n = n - g ;
        n = n / 10 ;
        
        s = n % 10 ;
        n = n - s ;
        n = n / 10 ;
        
        b = n % 10 ;
        n = n - b ;
        n = n / 10 ;
        
        if( g * g * g + s * s * s + b * b * b == m ) {
            cout << "Yes" << endl ;
        } else {
            cout << "No" << endl ;
        }
    }
}