1樓:我是比丘猴
樓主你好~~
按照你的程式,你可能對於水仙話數有誤解...
首先,水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。(例如:1^3 + 5^3 + 3^3 = 153或3^3+7^3+0^3=370)
注意:是每個 位上 的數字。
而你的原**寫的效果是,例如第一次迴圈1^3+10^3+100^3=111,這樣的表示是錯的,按定義應該是判斷1^3+1^3+1^3 是否等於111,當然明顯是不等的,所以111不是水仙花數。
而且這個**還要考慮一件事,就是除了最高位百位外,十位和個位都有可能是0,所以,分別代表十位和個位的b與a應當從0開始迴圈到9,而百位的c則是從1迴圈到9~~
綜上所述,修改的**如下:
#include
void main()
希望樓主能看明白哈~~祝樓主學習進步~望採納~謝謝~
2樓:樹舟矯又柔
不是**的問題,是你在原先的工程上又新建了檔案,導致出現了兩個main函式
解決方案是,先關閉當前工程,從新建一個新工程
或者更簡單的方法,先退出ide,然後重新開啟.c檔案,讓ide自己新建工程
3樓:莊政警
給你改了下
#include
void main()}}}
4樓:
private sub command1_click()for i = 100 to 999
j = left(i, 1)
k = mid(i, 2, 1)
l = right(i, 1)
if j ^ 3 + k ^ 3 + l ^ 3 = i thenprint i
end if
next i
end sub
輸出後總共只有4個
153 370 371 407
1000以內就是這麼多
5樓:匿名使用者
#include
void main()}}
}我自己想的!呵呵,這是本人做出來的第一個c語言程式
6樓:
最基本的方法是列舉法,但時間複雜度較高,不過剪枝後還可以,不慢。
當然也可以用貪心法解決
*****==回答樓下朋友的問題**********=本人是學pascal的,對c語言不太熟悉,能讀懂,但寫還有點困難。見諒!
7樓:匿名使用者
main()
getch();
}樓上能把另外2種演算法 仔細描述下麼?謝謝
8樓:守住⒈份堅持
#include
main()}}}
c語言 輸出所有水仙花數
9樓:匿名使用者
在第一個for迴圈前面給s賦值時,a、b、c的值沒有初始化,所以整個s=100*a+10*b+c是不確定的值,程式執行便會出錯!
建議修改:將語句s=100*a+10*b+c放到條件語句if(s==(a*a*a+b*b*b+c*c*c))之前,這樣s得到的是確定值,程式執行正常。
修改後源程式如下:
#include "stdio.h"
void main()
int a,b,c,s;
for(a=1;a<10;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
s=100*a+10*b+c;
if(s==(a*a*a+b*b*b+c*c*c))printf("%d\n",s);
getchar();
程式執行結果見插圖。
10樓:我是比丘猴
樓主你好~~
按照你的程式,你可能對於水仙話數有誤解...
首先,水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。(例如:1^3 + 5^3 + 3^3 = 153或3^3+7^3+0^3=370)
注意:是每個 位上 的數字。
而你的原**寫的效果是,例如第一次迴圈1^3+10^3+100^3=111,這樣的表示是錯的,按定義應該是判斷1^3+1^3+1^3 是否等於111,當然明顯是不等的,所以111不是水仙花數。
而且這個**還要考慮一件事,就是除了最高位百位外,十位和個位都有可能是0,所以,分別代表十位和個位的b與a應當從0開始迴圈到9,而百位的c則是從1迴圈到9~~
綜上所述,修改的**如下:
#include
void main()
希望樓主能看明白哈~~祝樓主學習進步~望採納~謝謝~
11樓:1024程式設計師
c語言經典案例之水仙花數
12樓:那風依舊在吹
s==(a*a*a+b*b*b+c*c*c),這個的結果不可能是1,所以printf根本不執行,所以沒輸出
13樓:知道
#include "stdio.h"
main()}}
getch();}
14樓:
方法一:
#include
#include
int main()
return 0;
}方法二:
#include
#include
int main()}}
return 0;}
15樓:趙小程
你沒int main ()
c語言程式設計輸出所有的「水仙花數」。
16樓:匿名使用者
運用vc++6.0編譯執行:
#include
int main()
return 0;}
17樓:匿名使用者
#include
void main()}}
}我自己想的!呵呵,這是本人做出來的第一個c語言程式
18樓:
最基本的方法是列舉法,但時間複雜度較高,不過剪枝後還可以,不慢。
當然也可以用貪心法解決
*****==回答樓下朋友的問題**********=本人是學pascal的,對c語言不太熟悉,能讀懂,但寫還有點困難。見諒!
19樓:匿名使用者
main()
getch();
}樓上能把另外2種演算法 仔細描述下麼?謝謝
20樓:渾含蓮
建議你和程式設計老師當面**一下這道題目,注意學習一下程式設計的思路
c語言:輸出100-999中所有水仙花數。
21樓:會飛的小兔子
//輸出水仙花
voidnarcissusnumber()if(sum==i)
printf("%d\n",i);
擴充套件資料c語言:輸出9*9口訣
#include"stdio.h"
main()
inti,j,result;
printf("\n");
for(i=1;i<10;i++)
{for(j=1;j<10;j++)
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,佔3位*/
printf("\n");/*每一行後換行*/
22樓:匿名使用者
在100-999之間的三位數abc,滿足a³+b³+c³=abc,就稱abc為水仙花數。
根據你的描述和提供的**,只需要對輸出的結果進行換行即可,修改後的**如下:
#include
int main()
int i,a,b,c;
for(i=100;i<=999;i++)
a=i/100;
b=i/10%10;
c=i%10;
if(i == a*a*a + b*b*b + c*c*c)
printf("%d is a daffodil number.\n", i);
return 0;
程式執行結果:
擴充套件資料:
除了上面使用的c語言實現外,常用的實現語言還有;
algol**實現「水仙花數」:
begin
integer i,j,k;
for i := 1 step 1 until 9 do
for j := 0 step 1 until 9 do
for k := 0 step 1 until 9 do
if i×i×i + j×j×j + k×k×k = 100×i + 10×j + k then
print (100×i + 10×j + k);
endphp**實現「水仙花數」:
<?php
//使用系統自帶函式,即可實現冪運算,何必畫蛇添足,自己寫函式
functionis_narcissistic($n)
$hundreds=floor($n/100);//分解出百位
$tens=floor($n/10)%10;//分解出十位
$ones=floor($n%10);//分解出個位
return(bool)(pow($hundreds,3)+pow($tens,3)+pow($ones,3)==$n);
for($i=100;$i<1000;++$i)
if(is_narcissistic($i))
echo$i."\n";
die();
23樓:1024程式設計師
c語言經典案例之水仙花數
24樓:
printf("%d is a daffodil number.\n", i); // <-- 加個 \n
25樓:
水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。判斷一個數是否為水仙花數需要拆分數位,求冪再相加。不過這道題限定了範圍,都是三位數,所以可以使用3重迴圈分別代表3個數位,這樣就省去了拆分的麻煩。
**如下:
#include
int main()
26樓:匿名使用者
這個應該是很長的一段語句,建議你找王靜騰飛園的朋友來幫助你進行解答。
27樓:小蘂
#include
main()}
28樓:聚光扒土機
printf("%d is a daffodil number\n.", i);就行了
29樓:匿名使用者
再輸出內容後加\n換行
30樓:快樂峰喃
#include
#include
void main()}
c語言題目:輸出所有的「水仙花數」,並輸出其總個數。所謂「水仙花數」是指一個3位數,其各位數字的立... 30
31樓:匿名使用者
具體bai
程式如下:
#include
void main()
}printf("\n水仙花數的個數為\t%d",count);
printf("\n");
}執行結果如下
32樓:因團囡
#include
int main()}}
return 0;
}一共四個
33樓:匿名使用者
#include
void main()}
34樓:
#include "stdio.h"
main()
} printf("\n一共有答%d個水仙花數\n",m);
return 0;}
c語言編寫水仙花數,C語言程式設計輸出所有的「水仙花數」。
水仙花數 是指一個 n 位數 n 3 它的每個位上的數字的 n 次冪之和等於它本身。include int fun int n int main 執行結果 153370 371407 方法 先弄懂什麼是水仙花數 水仙花數是指一個n 3 位數字的數,它等於每個數字的n次冪之和。3位水仙花數 先定義3個...
c語言程式設計題找出所有的水仙花數,水仙花數是指3位數
問明 import org.junit.test public class narcissusnumberfrom module name importfrom module name importfrom module name importfrom module name path to spe...
c 的水仙花數
1.單獨測測你的兩個函式nt power int,int power a,b 是求a的b次是多少的一個函式 注意返回值的型別 int digit int 這個result是求一個數位數的函式 下面是我修改後的 include iostream.h include math.h int digit i...