do
{
}while(i<=1000); 这里while应该写在后边且必须加分号,你当中写的do while 循环是错误的写法,故而会报一个语法错误,另外就是你的程序逻辑 控制 还有几处错误
具体修改程序后为:
# include
int main()
{
int i=100,a,b,c;
printf("水仙花数为:");
do
{
a=i/100;
b=(i/10)%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c) //此处应该是(等号)== ,而不是赋值符号 =
printf("%d ",i);
i++; //需要先判断是否相等后 才能对i 进行+1 操作,否则就不是求水仙花数
}while(i<=1000);
printf("\n");
return 0;
}
//注意 比较运算符 等号 == 与 赋值运算符 = 的差别
//另外就是要注意 while 循环 与do{}while(); 循环的区别