哪里有問題?為啥啥也不輸出?
#include <stdio.h>
int main()
{
? ? //定義三位數num,個位數sd,十位數td,百位數hd
? ? int num, sd, td, hd;
? ? //循環(huán)所有三位數
? ? for( num=100;num<1000;num++ )
? ? {
? ? ? ? //獲取三位數字num百位上的數字
? ? ? ? hd = num/100 ;
? ? ? ? //獲取三位數字num十位上的數字
? ? ? ? td = num%100 ;
? ? ? ? //獲取三位數字num個位上的數字
? ? ? ? sd =num%10;
? ? ? ? //水仙花數的條件是什么?
? ? ? ? if(num==hd*hd*hd+td*td*td+sd*sd*sd )
? ? ? ? {
? ? ? ? ? ? printf("水仙花數字:%d\n", num);
? ? ? ? }
? ? }
? ? return 0;
}
2020-11-17
td=num/10%10;
您的td錯了? 我按照您的意思舉個例子 num=556 那么num%100=56? ?顯然十位數字不是56? 您也可以這樣寫
td=(num-hd*100)/10;
2020-11-14
應該是td=num/10%10;