你需要對返回的數加一個判斷,你的函數中,如果相等你有返回值,如果不相等你沒有返回值,但是你的主函數中還是對這個沒有返回的值進行了輸出
專注于為中小企業提供成都網站設計、做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業龍泉免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了數千家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
#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;////////////////////////
}
1、首先需要打開Dev-c++軟件,點擊“新建源代碼”。
2、然后按照如圖所示填寫代碼。
3、其中:a表示的是水仙花數的百位數,b表示的是水仙花數的十位數,c表示的是水仙花數的個位數,sum表示的是所有累加下來的水仙花數。
4、if(sum==a*a*a+b*b*b+c*c*c)這一個程序步驟的作用是在規定查找的范圍內找到符合這個條件的數。
5、注意a,b,c,sum的運算過程都是要在for 循環內完成,不可以在外循環進行。
6、而且還要注意區分在賦予百位數、十位數、個位數的計算用的“/","%”的區別,“/”表示除后取整數,“%”表示除后取余數。
7、最后點擊“運行”即可得出要找的結果了。
所謂的“水仙花數”是指一個三位數其各位數字的立方和等于該數本身,例如153是“水仙花數”,因為:153 = 1^3 + 5^3+ 3^3?。
下面是完整的C語言編程代碼:
運行結果:
result is:153? 370? 371? 407
擴展資料
常見水仙花數
水仙花數又稱阿姆斯特朗數。
1、三位的水仙花數共有4個:153,370,371,407;
2、四位的四葉玫瑰數共有3個:1634,8208,9474;
3、五位的五角星數共有3個:54748,92727,93084;
4、六位的六合數只有1個:548834;
5、七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
6、八位的八仙數共有3個:24678050,24678051,88593477
參考資料:百度百科:水仙花數
#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輸出第一個水仙花數
{
printf("%d", i);
}
else? ? ?//size++輸出第二。。第n個水仙花數
{
printf(" %d", i);
}
size++;? ?//個數++;
}
}
if (size == 0)? ?//范圍內個數為0,則說明沒有滿足條件的
{
printf("no");
}
printf("\n");
}
return 0;
}
擴展資料:
需要注意的地方:
1.將n整除以100,得出n在百位上的數字hun。
2.將(n-i*100)整除以10(或將n先整除以10再對10求模n/10%10),得出n在十位上的數字ten。
3.將n對10取余,得出n在個位上的數字ind。
4.求得這三個數字的立方和是否與其本身相等,若相等,則該數為水仙花數。
參考資料:
百度百科-水仙花數
新聞名稱:c語言水仙花函數代碼,水仙花數c語言程序兩種方法
瀏覽路徑:http://vcdvsql.cn/article2/hecooc.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、品牌網站建設、域名注冊、App開發、全網營銷推廣、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯