do-while用法
先运行do{}中的语句,再用while中的表达式进行判断,若满足while中的式子即可继续循环 。
do
{
运行式子;
}
while(表达式)
水仙花数的证法为每一个0~9数字的三次方的和与数字本身相等
如:153==1^3+5^3+3^3,该数就是水仙花数
我们可以运用do-while循环来求出数据中每一个数字的值:
int x,m;
scanf("%d",&x);
do
{
m=x%10;
x/=10;
printf("%d ",m);
}
while(x>0);
那么就能求出一个数是否为水仙花数:
#include<stdio.h>
#include<math.h>
int main()
{
int x,m,sum=0;
printf("Please enter a number: ");
scanf("%d",&x);
int y=x;
do
{
m=x%10;
sum+=pow(m,3);
x/=10;
}
while(x>0);
if(sum==y)
printf("%d为水仙花数",y);
else
printf("%d不为水仙花数",y);
}
输入输出: