不会编写该道代码题,求助各路大神

这道题怎么编写代码,自己编写的代码不知道怎么改正图片图片

其实你思路是对的,可是语法不能这样写。
首先立方不是^,^是抑或运算符。
第二case里要是常量。

把立方改一下可以自己写一个_a*a*a_这样的函数,也可以#include这个头文件,调用里面的power函数,这个可以百度。
然后没必要使用switch语句,使用普通的if(number==xxxxxxx)这样的语句就可以了。

c++?次方应该不是这样写,你百度上找找
pow (n, (double)3)

 #include <iostream>
using namespace std;
inline int a3(int i)
{
    return i*i*i;
}
int main()
{
    int a, b;
    cin >> a;

    b = a3(a/100) + a3(a/10%10)+a3(a%10);
    if(a == b) cout <<"Yes\n";
    else cout << "No\n";

    return 0;
}

我是用 c 写的,c++ 写法也差不多。其中 获取一个数的个、十、百、千、啥位的 其实可以用循环获取,不然如果一个数很大那岂不是就麻烦了 你说是吧?

 #include <stdio.h>

int main(void)
{
    int a, b, c;

    for(int i = 100; i < 10000; i++)
    {
        a = i % 10; // 获得个位
        b = i / 10 % 10; //获得十位
        c = i / 100;  //获得百位

        if(a*a*a + b*b*b + c*c*c == i)
            printf("%d 是水仙花数\n", i);
    }

    return 0;
}