有几处错误:
1,各个位上的数字求错了。
2,if语句等号换成==,你用的是赋值号,不是等号。
void main()
{
int a;
scanf_s("%d", &a); //输入的一个3位数
int x, y, z;
x = a / 100; //x为百位上的数
y = (a - x * 100) / 10; //y为十位上的数
z = a - x * 100 - y * 10; //z为个位上的数
if (a == x*x*x + y*y*y + z*z*z)
{
printf("%d", a);
}
getchar();
getchar();
}
b = a / 100; //整除,获得百位
c = (a % 100) / 10 ;//十位
d = a % 10; //取余数,获得个位
a%100是什么鬼?%不是取余吗113%100不是等于13吗