亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

各位前輩誰能講一下,謝謝!

#include <stdio.h>

int main()

{

? ? //定義三位數num,個位數sd,十位數td,百位數hd

? ? int num, sd, td, hd;

? ? //循環所有三位數

? ? for(? ??? ;? ?? ?;? ? ?? )

? ? {

? ? ? ? //獲取三位數字num百位上的數字

? ? ? ? hd =? ? ? ? ?? ? ? ? ?;

? ? ? ? //獲取三位數字num十位上的數字

? ? ? ? td =? ? ? ? ?? ? ? ? ?;

? ? ? ? //獲取三位數字num個位上的數字

? ? ? ? sd =? ? ? ? ?? ? ? ? ?;

? ? ? ? //水仙花數的條件是什么?

? ? ? ? if(? ? ???? ? ? ? ? ? ? ? ?)?

? ? ? ? {

? ? ? ? ? ? printf("水仙花數字:%d\n", num);? ??

? ? ? ? }

? ? }

? ? return 0;? ??

}


正在回答

3 回答

思路:水仙花數的條件1、三位數---->范圍在100~1000之間---->for語句為for(num=100;num<1000;num++);

????????????????????????????????? 2、滿足a*100+b*10+c=a*a*a+b*b*b+c*c*c--------->if判斷條件為

????????????????????????????????????????????????????????if(num == hd*hd*hd + td*td*td + sd*sd*sd);

????????????剩下的就只有求三位數的個、十、百位的問題;依據int數據類型特點,num/100可以取到num的百位上的數字,num%100/10得到num的十位數字,num%10或num%100%10得到num的個位數字,所以完整解答如下:

#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%10;

? ? ? ? //水仙花數的條件是什么?

? ? ? ? if( num==hd*hd*hd+td*td*td+sd*sd*sd )?

? ? ? ? {

? ? ? ? ? ? printf("水仙花數字:%d\n", num);? ??

? ? ? ? }

? ? }

? ? return 0;? ??

}


5 回復 有任何疑惑可以回復我~

#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%10??????? ;
??????? //水仙花數的條件是什么?
??????? if(num==hd*hd*hd+td*td*td+sd*sd*sd?????????????? )
??????? {
??????????? printf("水仙花數字:%d\n", num);???
??????? }
??? }
??? return 0;???
}

1 回復 有任何疑惑可以回復我~

? for(num=100;num<1000;num++)

? ? {

? ? ? ? //獲取三位數字num百位上的數字

? ? ? ? hd =num/100;

? ? ? ? //獲取三位數字num十位上的數字

? ? ? ? td =num/10 - hd*10;

? ? ? ? //獲取三位數字num個位上的數字

? ? ? ? sd =num - hd*100 - td*10;

? ? ? ? //水仙花數的條件是什么?

? ? ? ? if(num == hd*hd*hd + td*td*td + sd*sd*sd)?

? ? ? ? {

? ? ? ? ? ? printf("水仙花數字:%d\n", num);? ??

? ? ? ? }

? ? }


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

各位前輩誰能講一下,謝謝!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號