水仙花數(shù)是指一個(gè) n 位數(shù) ( n≥3 ),每個(gè)位上的數(shù)字的 n 次冪之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。
成都創(chuàng)新互聯(lián)公司專注于中大型企業(yè)的網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計(jì)客戶成百上千,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注成都品牌網(wǎng)站建設(shè)和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長!
所以可以依次通過模除求得每個(gè)位上的值,然后做n次冪后相加,再判斷是否與本身相等,從而得到是否為水仙花數(shù)的結(jié)論。
以求所有三位數(shù)水仙花數(shù)為例,代碼如下,其它相似。
#includestdio.h
#includestdlib.h
#includestdbool.h
int?cube(const?int?n){//計(jì)算立方。如果是四位則是四次方,以此類推。
return?n*n*n;
}
int?isNarcissistic(const?int?n){//計(jì)算是否為水仙花數(shù)。
int?hundreds=n/100;//百位
int?tens=n/10-hundreds*10;//十位
int?ones=n%10;//個(gè)位
return?cube(hundreds)+cube(tens)+cube(ones)==n;//如果相等,則為水仙花數(shù)。
}
int?main(void){
int?i;
for(i=100;i1000;++i){//對(duì)所有三位數(shù)判斷。
if(isNarcissistic(i))//如果是則輸出。
printf("%d\n",i);
}
return?0;
}
你需要對(duì)返回的數(shù)加一個(gè)判斷,你的函數(shù)中,如果相等你有返回值,如果不相等你沒有返回值,但是你的主函數(shù)中還是對(duì)這個(gè)沒有返回的值進(jìn)行了輸出
#include?stdio.h
int?main()
{
int?f(int?m);
int?n;
printf?("result?is:?");
for?(n?=?100;?n??1000;?n++)
{
if?(f(n)0)/////////////////////////
??printf?("%d?",?f(n)?);
}
printf?("\n");
return?0;
}
int?f(int?m)
{
int?a,b,c;
a=m/100;
b=(m-a*100)/10;
c=m%10;
if(m==a*a*a+b*b*b+c*c*c)
return?(m);
else?return?-1;////////////////////////
}
你這里沒有用到判斷。所以它會(huì)把每個(gè)數(shù)都輸出。
把is函數(shù)設(shè)成boolean類型的,如果是水仙花數(shù)就return true,如果不是就return false
就是if(number==i*i*i+m*m*m+n*n*n){ return true;)else return false;
...
這是你原來is函數(shù)里的一部分,按照上面那樣改。
if(number==i*i*i+m*m*m+n*n*n){
return number;
}
下面這里是你的main函數(shù)的部分,
for(i=m;i=n;i++){
m=is(i);
printf("%d\n",m);
改成
for(i=m;i=n;i++){
if(is(i)){
printf("%d\n",i);
}
就可以了
int li(int n)
{ return n*n*n;
}
int shuixian(int n)
{
int b,s,g;
b=n/100;
s=n/10%10;
g=n%10;
if((li(b)+li(s)+li(g))==n)
return 1;
return 0;
}
int main()
{
int i;
scanf("%d",i);
if(shuixian(i))
printf("%d\n",i);
return 0;
}
分享名稱:c語言用函數(shù)寫水仙花,C語言,水仙花
本文URL:http://vcdvsql.cn/article48/hchiep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、做網(wǎng)站、全網(wǎng)營銷推廣、虛擬主機(jī)、品牌網(wǎng)站建設(shè)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)