鄭州輕工業(yè)大學(xué)oj題解(c語言)1096:水仙花數(shù)(函數(shù)專題)

今天給大家介紹一道函數(shù)題言秸。水仙花數(shù)的進(jìn)階函數(shù)專題。
水仙花數(shù)在OJ的題目里也算的上是趣味性比較強(qiáng),相對難度比較簡單的題目了止潘。大家在看本文之前也可以先回顧一下1027:水仙花數(shù)的題解搁拙。


本題相對難度較高秒梳,如果對函數(shù)還不夠理解的同學(xué)可以選擇放棄和其他同學(xué)一起學(xué)習(xí)。

1096: 水仙花數(shù)(函數(shù)專題)

- 題目描述

春天是鮮花的季節(jié)箕速,水仙花就是其中最迷人的代表酪碘,數(shù)學(xué)上有個水仙花數(shù),他是這樣定義的:
“水仙花數(shù)”是指一個三位數(shù)盐茎,它的各位數(shù)字的立方和等于其本身兴垦,比如:153=13+53+33。
現(xiàn)在要求輸出所有在m和n范圍內(nèi)的水仙花數(shù)庭呜。
要求程序定義一個narcissus()函數(shù)和一個main()函數(shù)滑进,narcissus()函數(shù)判斷一個整數(shù)n是否為水鮮花數(shù),其余功能在main()函數(shù)中實現(xiàn)募谎。
int narcissus(int n)
{
//判斷n是否為水仙花數(shù)扶关, 若是函數(shù)返回1,否則返回0
}
對于C/C++代碼的提交数冬,本題要求必須通過定義narcissus函數(shù)和main函數(shù)實現(xiàn)节槐,否則,提交編譯錯誤拐纱,要提交完整的程序铜异。

- 輸入

輸入數(shù)據(jù)有多組,每組占一行秸架,包括兩個整數(shù)m和n(100<=m<=n<=999)揍庄。

- 輸出

對于每個測試實例,要求輸出所有在給定范圍內(nèi)的水仙花數(shù)东抹,就是說蚂子,輸出的水仙花數(shù)必須大于等于m,并且小于等于n沃测,如果有多個,則要求從小到大排列在一行內(nèi)輸出食茎,之間用一個空格隔開;
如果給定的范圍內(nèi)不存在水仙花數(shù)蒂破,則輸出no;
每個測試實例的輸出占一行。

#include<stdio.h>
 int narcissus(int n) 
 {
  int a,b,c;
    a = n / 100;
    b = n / 10 % 10;
    c = n % 10 % 10;
   if(n==a*a*a+b*b*b+c*c*c)
    return 1;
   else
    return 0;
 }
int main()
{
    int m, n, i, find=0;
    while(scanf("%d%d", &m, &n)!=EOF){
        find=0;
        for(i=m; i<=n; i++){
        if( narcissus(i)==1 ){
            find++;
            if(find==1)printf("%d", i);
            else printf(" %d", i);
        }
    }
    if(find==0){
    printf("no");
    }
    printf("\n");
   }
    return 0;
}

- 代碼解析:

本題的難度應(yīng)該不在函數(shù)的描寫上别渔,而在main()函數(shù)對是否存在水仙花數(shù)的判斷上附迷,下面的解析會有輕重,如果對某段代碼不夠了解的同學(xué)可以直接在下面評論區(qū)提出哎媚。

  • 首先直接從main函數(shù)講起喇伯,待需要進(jìn)行判斷水仙花數(shù)時再解釋函數(shù)。
  • 根據(jù)題目要求拨与,輸入數(shù)據(jù)有多組艘刚,則這里明顯需要用到循環(huán)進(jìn)行輸入,數(shù)據(jù)有多組說明循環(huán)的次數(shù)不確定截珍,所以這里適用于1079的多實例例子,如果忘記了的同學(xué)可以回顧一下之前的題解箩朴。
  • 根據(jù)題目要求的m岗喉,和n分別是區(qū)間的兩個點,這里要求的是我們找出這個區(qū)間內(nèi)的水仙花數(shù)炸庞,所以钱床,我們還需要再寫一個循環(huán),尋找位于這個區(qū)間的水仙花數(shù)埠居。
  • 既然這里需要尋找水仙花數(shù)了查牌,那么就需要我們開始寫計算過程了。由于題目是函數(shù)專題滥壕,我們這里把計算過程寫進(jìn)函數(shù)中纸颜。這里定義的narcissus() 函數(shù)題目要求我們判斷:判斷n是否為水仙花數(shù), 若是函數(shù)返回1绎橘,否則返回0胁孙。因此,我們在使用與1027同樣的判斷過程后称鳞,讓其在輸出后再次判斷涮较,如果是水仙花數(shù)則返回1,如果不是則返回0冈止。
  • 函數(shù)寫完后狂票,我們則要在main函數(shù)()中使用他了。根據(jù)題目要求我們目的是要輸出水仙花數(shù)或者輸出0熙暴。那么我們首先用函數(shù)進(jìn)行判斷闺属。因為函數(shù)內(nèi)部已經(jīng)進(jìn)行過水仙花數(shù)的判斷了慌盯。我們直接根據(jù)判斷結(jié)果進(jìn)行輸出即可。
  • 如果函數(shù)返回1屋剑,則輸出這個數(shù)润匙;如果函數(shù)全部返回0,則輸出no唉匾。要注意這兩句話的重點孕讳。要全部數(shù)判斷完后再去判斷是否沒有水仙花數(shù)。所以這里我們添加一個參數(shù)來作為判斷巍膘,判斷這個區(qū)間是否有水仙花數(shù)厂财,當(dāng)我們判斷到有一個數(shù)是水仙花數(shù)了,就把負(fù)責(zé)記錄判斷的數(shù)+1峡懈。
  • 待我們所有的數(shù)判斷完后璃饱,如果沒有水仙花數(shù),則用來判斷的參數(shù)find仍為初始值0肪康,判斷完輸出“no”即可荚恶。
注意的易錯點:

談易錯點前先給大家看張截圖。磷支。谒撼。


做題記錄

1.注意空格。每個水仙花數(shù)之間要有空格雾狈,不能直接連續(xù)輸出
2.注意判斷沒有水仙花數(shù)一定要在判斷水仙花數(shù)的循環(huán)結(jié)束后再判斷廓潜,不然會重復(fù)輸出多個no。
3.整個while循環(huán)走完后記得加個換行善榛。辩蛋。。不然會導(dǎo)致下一次區(qū)間判斷的值與上次重疊導(dǎo)致答案錯誤移盆。
4.每次判斷水仙花數(shù)的循環(huán)后悼院,判斷的值一定要歸初始值0。不然會影響下次循環(huán)的判斷咒循。

這次的教程比較長比較復(fù)雜樱蛤,但也自認(rèn)相對比較詳細(xì)了,看完肯定會有不少收獲剑鞍,希望大家都能耐心看完昨凡。另外看完后請右下方點個贊支持一下。碼字不易~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蚁署,一起剝皮案震驚了整個濱河市便脊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌光戈,老刑警劉巖哪痰,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遂赠,死亡現(xiàn)場離奇詭異,居然都是意外死亡晌杰,警方通過查閱死者的電腦和手機(jī)跷睦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肋演,“玉大人抑诸,你說我怎么就攤上這事〉猓” “怎么了蜕乡?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長梗夸。 經(jīng)常有香客問我层玲,道長,這世上最難降的妖魔是什么反症? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任辛块,我火速辦了婚禮,結(jié)果婚禮上铅碍,老公的妹妹穿的比我還像新娘憨降。我一直安慰自己,他們只是感情好该酗,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著士嚎,像睡著了一般呜魄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上莱衩,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天爵嗅,我揣著相機(jī)與錄音,去河邊找鬼笨蚁。 笑死睹晒,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的括细。 我是一名探鬼主播伪很,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼奋单!你這毒婦竟也來了锉试?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤览濒,失蹤者是張志新(化名)和其女友劉穎呆盖,沒想到半個月后拖云,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡应又,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年宙项,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片株扛。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡尤筐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出席里,到底是詐尸還是另有隱情叔磷,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布奖磁,位于F島的核電站改基,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏咖为。R本人自食惡果不足惜秕狰,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望躁染。 院中可真熱鬧鸣哀,春花似錦、人聲如沸吞彤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饰恕。三九已至挠羔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間埋嵌,已是汗流浹背破加。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留雹嗦,地道東北人范舀。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像了罪,于是被迫代替她去往敵國和親锭环。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容