这道题怎么编写代码,自己编写的代码不知道怎么改正
其实你思路是对的,可是语法不能这样写。
首先立方不是^,^是抑或运算符。
第二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;
}