可不可以幫我看看
#include <stdio.h>
int main()
{
//定義三位數(shù)num,個(gè)位數(shù)sd,十位數(shù)td,百位數(shù)hd
int num, sd, td, hd;
//循環(huán)所有三位數(shù)
for( num=100 ; num<1000 ; num++ )
{
//獲取三位數(shù)字num百位上的數(shù)字
hd = num%100;
//獲取三位數(shù)字num十位上的數(shù)字
td = (num%100)/10;
//獲取三位數(shù)字num個(gè)位上的數(shù)字
sd =num-100*hd-10*sd;
//水仙花數(shù)的條件是什么?
if( num==hd*hd*hd+td*td*td+sd*sd*sd )
{
printf("水仙花數(shù)字:%d\n", num);
}
}
return 0;
}
2017-12-12
第一:hd = num%100;你這句話的意思是num這個(gè)數(shù)除以100的余數(shù),這里要的是百位所以你要改成hd=num/100;才是取百位。
第二:sd=num-hd*100-sd*10;這里你用錯(cuò)變量了,
改為sd=num-hd*100-td*10;更簡單的去個(gè)位數(shù)的方法是
sd=num%10;
2017-12-11
求百位應(yīng)該是num/100;
用你的方法求個(gè)位應(yīng)該是num-hd*100-td*10;你寫錯(cuò)了,你寫成了num-100*hd-10*sd!!!!!
2017-12-11
hd = num/100;
sd =num%100%10; 改成這樣就好