新手不懂怎么出來的這個(gè)四個(gè)數(shù)字怎么出來的
#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%10;
? ? ? ? //水仙花數(shù)的條件是什么?
? ? ? ? if(num==hd*hd*hd+td*td*td+sd*sd*sd)?
? ? ? ? {
? ? ? ? ? ? printf("水仙花數(shù)字:%d\n", num); ? ?
? ? ? ? }
? ? }
? ? return 0; ? ?
}
2016-09-05
1先舉一個(gè)三位數(shù)"num"(從100開始到999結(jié)束),
2提取出"num"百位,個(gè)位,十位"sd,td,hd"
3進(jìn)行運(yùn)算 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?hd*hd*hd+td*td*td+sd*sd*sd
4判斷結(jié)果是否等于"num" ? ? ? ? ? ? ? ? ? ? ? ?if(num==hd*hd*hd+td*td*td+sd*sd*sd)?
5如果結(jié)果為真,輸出當(dāng)前num的值,到7 ? ? ?printf("水仙花數(shù)字:%d\n", num);?
6如果為假,直接結(jié)束,到7
7num的值加一,到1
如果還不懂,你需要一個(gè)編譯器