這個到底錯哪里啊
#include <stdio.h>
int main()
{
? ? //定義三位數num,個位數sd,十位數td,百位數hd
? ? int num, sd, td, hd;
? ? //循環所有三位數
? ? for(num=100;num<1000;num++)
? ? {
? ? ? ? //獲取三位數字num百位上的數字
? ? ? ? hd = num/10;
? ? ? ? //獲取三位數字num十位上的數字
? ? ? ? td =num%100/10;
? ? ? ? //獲取三位數字num個位上的數字
? ? ? ? sd =num%100%10;
? ? ? ? //水仙花數的條件是什么?
? ? ? ? if(num==hd*hd*hd+td*td*td+sd*sd*sd)?
? ? ? ? {
? ? ? ? ? ? printf("水仙花數字:%d\n", num);? ??
? ? ? ? }
? ? }
? ? return 0;? ??
}
2019-02-01
//獲取三位數字num個位上的數字
? ? ? ? sd =num%100%10;
這是獲取十位而不是個位
正確的應該是
sd=num%10;
2019-02-01
//獲取三位數字num百位上的數字
hd=num/100;
//獲取三位數字上的十位上的數字
td=(num%100)/10;
//獲取三位數字個位上的數字
sd=num%10;
2019-02-01