if( num==hd*hd*hd+td*td*td+sd*sd*sd ) 不能换成 if( num==hd^3+td^3+sd^3 )
^这个符号在C语言中是另一种运算符,按位异或;如果你要用乘方的函数的话,可以#include<math.h>,(y=a^x)函数的用法是y=pow(a,x);
因为C语言简单运算符不包含乘方的符号,所以只能写开。不过有乘方的库函数,高阶时用比较方便。