c語言的水仙花函數(shù) c語言水仙花數(shù)調(diào)用函數(shù)

C程序水仙花數(shù)用函數(shù)寫

你需要對返回的數(shù)加一個判斷,你的函數(shù)中,如果相等你有返回值,如果不相等你沒有返回值,但是你的主函數(shù)中還是對這個沒有返回的值進(jìn)行了輸出

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的伍家崗網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

#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;////////////////////////

}

c語言水仙花數(shù)

#include stdio.h

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf("%d %d", start, end) == 2)

{

for (i = start; i = end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((a*a*a + b*b*b + c*c*c) == i)? //滿足水仙花條件

{

if (size == 0)? ?//size=0輸出第一個水仙花數(shù)

{

printf("%d", i);

}

else? ? ?//size++輸出第二。。第n個水仙花數(shù)

{

printf(" %d", i);

}

size++;? ?//個數(shù)++;

}

}

if (size == 0)? ?//范圍內(nèi)個數(shù)為0,則說明沒有滿足條件的

{

printf("no");

}

printf("\n");

}

return 0;

}

擴(kuò)展資料:

需要注意的地方:

1.將n整除以100,得出n在百位上的數(shù)字hun。

2.將(n-i*100)整除以10(或?qū)先整除以10再對10求模n/10%10),得出n在十位上的數(shù)字ten。

3.將n對10取余,得出n在個位上的數(shù)字ind。

4.求得這三個數(shù)字的立方和是否與其本身相等,若相等,則該數(shù)為水仙花數(shù)。

參考資料:

百度百科-水仙花數(shù)

C語言 水仙花數(shù)

#include stdio.h

int fun(int a,int b)

{

int i,m,n,k,count=0;

if(ab)

{

for(i=b;i=a;i++)

{

m=i/100;

n=(i%100)/10;

k=i%10;

if(i==((m*m*m)+(n*n*n)+(k*k*k)))

{

count+=1;

printf("%d\n",i);

}

}

}

else if(ab)

{

for(i=a;i=b;i++)

{

m=i/100;

n=(i%100)/10;

k=i%10;

if(i==(m*m*m)+(n*n*n)+(k*k*k))

{

count+=1;

printf("%d\n",i);

}

}

}

else

{

m=a/100;

n=(a%100)/10;

k=a%10;

if(a==(m*m*m)+(n*n*n)+(k*k*k))

{

count=1;

printf("%d\n",a);

}

}

printf("%d\n",count);

return 0;

}

void main()

{

int a,b;

printf("請輸入要查找的區(qū)間端點(三位數(shù)以內(nèi)):");

scanf("%d%d",a,b);

fun(a,b);

}

不知道是不是你要的~~~

c語言怎么編寫水仙花數(shù)?

方法:先弄懂什么是水仙花數(shù)::

水仙花數(shù)是指一個n(=3)位數(shù)字的數(shù),它等于每個數(shù)字的n次冪之和。

3位水仙花數(shù)————先定義3個數(shù)其中一個為1--9;2個為0--9;(用for循環(huán))

再用如果a定義為1--9那么用100*a來表示百位;如果b或者c定義是0--9那么用10*b或者10*c來表示十位;那么下面用c或者b來表示個位;

if(100*a+10*b+c==a*a*a+b*b+c) 如果滿足這個條件那么:輸出的printf("%d%d%d",a,b,c)就是3位數(shù)的水仙花數(shù):

4位水仙花數(shù)方法同上:

剛寫的:調(diào)試過了

#include stdio.h

int main(void)

{

int a,b,c,d;

system("cls");

for(a=1;a=9;a++)

for(b=0;b=9;b++)

for(c=0;c=9;c++)

if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)

printf("%d%d%d\n",a,b,c);

for(a=1;a=9;a++)

for(b=0;b=9;b++)

for(c=0;c=9;c++)

for(d=0;d=9;d++)

if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)

printf("%d%d%d%d\n",a,b,c,d);

getch();

}

或者這樣:

#include stdio.h

int main(void)

{

int a,b,c,d;

system("cls");

for(a=1;a=9;a++)

for(b=0;b=9;b++)

for(c=0;c=9;c++)

{

if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)

printf("%d%d%d\n",a,b,c);

for(d=0;d=9;d++)

if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)

printf("%d%d%d%d\n",a,b,c,d);

}

getch();

}

網(wǎng)頁標(biāo)題:c語言的水仙花函數(shù) c語言水仙花數(shù)調(diào)用函數(shù)
新聞來源:http://muchs.cn/article44/doscshe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名網(wǎng)站導(dǎo)航、營銷型網(wǎng)站建設(shè)網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司