可不可以幫我看看
#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;
//獲取三位數字num個位上的數字
sd =num-100*hd-10*sd;
//水仙花數的條件是什么?
if( num==hd*hd*hd+td*td*td+sd*sd*sd )
{
printf("水仙花數字:%d\n", num);
}
}
return 0;
}
2017-12-12
第一:hd = num%100;你這句話的意思是num這個數除以100的余數,這里要的是百位所以你要改成hd=num/100;才是取百位。
第二:sd=num-hd*100-sd*10;這里你用錯變量了,
改為sd=num-hd*100-td*10;更簡單的去個位數的方法是
sd=num%10;
2017-12-11
求百位應該是num/100;
用你的方法求個位應該是num-hd*100-td*10;你寫錯了,你寫成了num-100*hd-10*sd!!!!!
2017-12-11
hd = num/100;
sd =num%100%10; 改成這樣就好