//获取三位数字num百位上的数字
hd = num/100 ;
//获取三位数字num十位上的数字
td = (num%100)/10 ;
//获取三位数字num个位上的数字
sd = num%10 ;
#include <stdio.h>
int main()
{
//定义三位数num,个位数sd,十位数td,百位数hd
int num, sd, td, hd; //循环所有三位数
for(num = 100; num < 1000; num++)
{
//获取三位数字num百位上的数字
hd = num/100; //将num/100将会得到一个整数,比如这里num是567,那么567/100=5而不是5.67(计算机算数)
//获取三位数字num十位上的数字
td = (num%100)/10 ; //同理num=567则567%100=67(%是取余)67/10=6
sd = (num%100)%10; //同取余得567%100=67 67%10=7
if(num == hd*hd*hd+td*td*td+sd*sd*sd)
{
printf("水仙花数字:%d\n",num);
}
}
return 0;
}
#include <stdio.h>
int main()
{
//定义三位数num,个位数sd,十位数td,百位数hd
int num, sd, td, hd; //循环所有三位数
for(num = 100; num < 1000; num++)
{
//获取三位数字num百位上的数字
hd = num/100;
//获取三位数字num十位上的数字
td = (num%100)/10;
sd = (num%100)%10;
if(num == hd*hd*hd+td*td*td+sd*sd*sd)
{
printf("水仙花数字:%d\n",num);
}
}
return 0;
}
num/100是取整的运算,就比如随便一个三位数346进行346/100==3
而%是取到余数,同样346%100==46,这时我们再进行取整4运算就是:46/10==4即把十位提出了
最后一步346%10直接就是余6的,个位也得到了输出