你的程序运行不出来是程序的算法有误,按你的程序作了改错,程序如下:#include<iostream>usingnamespacestd;intmain(){inta=0;intb=0;intc=0;intnum=100;do{a=num%10;b=num/10%10;c=num/100;if(a*a*a+b*b*b+c*c*c==num){cout<<num<<endl;}num++;}while(num<1000);system("pause");return0;}主要问题是:①变量a、b、c的初始化位置应在循环之前;②分离百倍数,要用c=num/100;程序的运行结果,能正确输出水仙花数: