你需要對(duì)返回的數(shù)加一個(gè)判斷,你的函數(shù)中,如果相等你有返回值,如果不相等你沒有返回值,但是你的主函數(shù)中還是對(duì)這個(gè)沒有返回的值進(jìn)行了輸出
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的伍家崗網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(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;////////////////////////
}
#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輸出第一個(gè)水仙花數(shù)
{
printf("%d", i);
}
else? ? ?//size++輸出第二。。第n個(gè)水仙花數(shù)
{
printf(" %d", i);
}
size++;? ?//個(gè)數(shù)++;
}
}
if (size == 0)? ?//范圍內(nèi)個(gè)數(shù)為0,則說明沒有滿足條件的
{
printf("no");
}
printf("\n");
}
return 0;
}
擴(kuò)展資料:
需要注意的地方:
1.將n整除以100,得出n在百位上的數(shù)字hun。
2.將(n-i*100)整除以10(或?qū)先整除以10再對(duì)10求模n/10%10),得出n在十位上的數(shù)字ten。
3.將n對(duì)10取余,得出n在個(gè)位上的數(shù)字ind。
4.求得這三個(gè)數(shù)字的立方和是否與其本身相等,若相等,則該數(shù)為水仙花數(shù)。
參考資料:
百度百科-水仙花數(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ǐng)輸入要查找的區(qū)間端點(diǎn)(三位數(shù)以內(nèi)):");
scanf("%d%d",a,b);
fun(a,b);
}
不知道是不是你要的~~~
方法:先弄懂什么是水仙花數(shù)::
水仙花數(shù)是指一個(gè)n(=3)位數(shù)字的數(shù),它等于每個(gè)數(shù)字的n次冪之和。
3位水仙花數(shù)————先定義3個(gè)數(shù)其中一個(gè)為1--9;2個(gè)為0--9;(用for循環(huán))
再用如果a定義為1--9那么用100*a來表示百位;如果b或者c定義是0--9那么用10*b或者10*c來表示十位;那么下面用c或者b來表示個(gè)位;
if(100*a+10*b+c==a*a*a+b*b+c) 如果滿足這個(gè)條件那么:輸出的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://jinyejixie.com/article44/doscshe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站導(dǎo)航、營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)
聲明:本網(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)