課程
/后端開發(fā)
/C
/C語言入門
num/100%10??
num/10%10??
num/1%10??
求解是怎么算的,看不懂越詳細(xì)越好 感謝了
2020-07-16
源自:C語言入門 4-9
正在回答
#include <stdio.h>
int main()
{
? ? //定義三位數(shù)num,個(gè)位數(shù)sd,十位數(shù)td,百位數(shù)hd
? ? int num, sd, td, hd;
? ? //循環(huán)所有三位數(shù)
? ? for(num=153;num=153? ?;? ? ?)
? ? {
? ? ? ? //獲取三位數(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;? ??
}
num=100,給num一個(gè)初次值,
因?yàn)樯厦嬗幸粋€(gè)例子了,水仙花數(shù):153=1的三次方加上5的三次方加上3次方的和,這里的三位數(shù)153,百位上的數(shù)字是1,那么把153,除以100就等于1(,因?yàn)檫@里是整形數(shù),整數(shù)除整數(shù)也是整數(shù)前面課程有),然后就是十位數(shù)的5,153%100/10=5,(利用前面所學(xué)的符號(hào)運(yùn)算,153%100的余數(shù)是53,我們要的是5,所以除于10),然后求個(gè)位上的數(shù),153%10=3(直接百分號(hào)10得出個(gè)位數(shù)3,)然后把這三個(gè)數(shù)的三次方加起來這就有了if(num=hd*hd*hd+td*td*td+sd*sd*sd)因?yàn)檫@個(gè)式子是真的,所以執(zhí)行:printf("水仙花數(shù)字:%d\n", num);回到題目上,num=100,給num一個(gè)初次值,那么就有?for(num=100;num<1000? ?; num++? ? );num<1000這里當(dāng)nun值,達(dá)到1000的時(shí)候終止循環(huán),這里你可以改小或者加大,但題目要求值是要達(dá)到407(我也不知道407是哪個(gè)數(shù),所以達(dá)到了407就好)
如果還不懂,就想一下題目要求水仙花數(shù)153的意思:一的三次方加5的三次方加3的三次方=153,想想學(xué)過的知識(shí),你如何拿153得出1,5, 3? 這三個(gè)數(shù)? ? ? 153(運(yùn)算過程)=1或=5或=3
3.? ? ? ? *? ? ? ?/? ? ? ? ? ?%
除法的優(yōu)先級(jí)在取余前面,所以先算除法再取余
除法如果相除的兩個(gè)數(shù)都是整數(shù)的話,則結(jié)果也為整數(shù),小數(shù)部分省略,如8/3 = 2;而兩數(shù)中有一個(gè)為小數(shù),結(jié)果則為小數(shù),如:9.0/2 = 4.500000。但是取余只能是兩個(gè)整數(shù) 所以一般num取得是整型 int num;
舉報(bào)
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
3 回答(num%100)/10 是什么意思,怎樣運(yùn)算
4 回答我想問下hd = num/100 ; td = (num%100)/10 ; sd = num%10 ; 這個(gè)方程式是通過什么邏輯得出來的,請大神詳細(xì)分析告知一下。
2 回答為什么hd=num/100中的/是什么意思?還有td為什么=(num%100)/10
3 回答( num % 100 ) / 10
4 回答(num%100)/10
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2020-08-12
#include <stdio.h>
int main()
{
? ? //定義三位數(shù)num,個(gè)位數(shù)sd,十位數(shù)td,百位數(shù)hd
? ? int num, sd, td, hd;
? ? //循環(huán)所有三位數(shù)
? ? for(num=153;num=153? ?;? ? ?)
? ? {
? ? ? ? //獲取三位數(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;? ??
}
num=100,給num一個(gè)初次值,
因?yàn)樯厦嬗幸粋€(gè)例子了,水仙花數(shù):153=1的三次方加上5的三次方加上3次方的和,這里的三位數(shù)153,百位上的數(shù)字是1,那么把153,除以100就等于1(,因?yàn)檫@里是整形數(shù),整數(shù)除整數(shù)也是整數(shù)前面課程有),然后就是十位數(shù)的5,153%100/10=5,(利用前面所學(xué)的符號(hào)運(yùn)算,153%100的余數(shù)是53,我們要的是5,所以除于10),然后求個(gè)位上的數(shù),153%10=3(直接百分號(hào)10得出個(gè)位數(shù)3,)然后把這三個(gè)數(shù)的三次方加起來這就有了if(num=hd*hd*hd+td*td*td+sd*sd*sd)因?yàn)檫@個(gè)式子是真的,所以執(zhí)行:printf("水仙花數(shù)字:%d\n", num);
回到題目上,num=100,給num一個(gè)初次值,那么就有?for(num=100;num<1000? ?; num++? ? );num<1000這里當(dāng)nun值,達(dá)到1000的時(shí)候終止循環(huán),這里你可以改小或者加大,但題目要求值是要達(dá)到407(我也不知道407是哪個(gè)數(shù),所以達(dá)到了407就好)
如果還不懂,就想一下題目要求水仙花數(shù)153的意思:一的三次方加5的三次方加3的三次方=153,想想學(xué)過的知識(shí),你如何拿153得出1,5, 3? 這三個(gè)數(shù)? ? ? 153(運(yùn)算過程)=1或=5或=3
2020-07-18
3.? ? ? ? *? ? ? ?/? ? ? ? ? ?%
除法的優(yōu)先級(jí)在取余前面,所以先算除法再取余
除法如果相除的兩個(gè)數(shù)都是整數(shù)的話,則結(jié)果也為整數(shù),小數(shù)部分省略,如8/3 = 2;而兩數(shù)中有一個(gè)為小數(shù),結(jié)果則為小數(shù),如:9.0/2 = 4.500000。但是取余只能是兩個(gè)整數(shù) 所以一般num取得是整型 int num;