English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

西元年被4整除且不被100整除,或被400整除者即為閏年。請以流程圖表示出以下問題的演算法:找出19到20世紀之間的所有閏年。
有人會嗎~~~~謝謝

2007-12-25 18:33:13 · 2 個解答 · 發問者 Anonymous in 電腦與網際網路 程式設計

我不太懂你的意思耶
可以說的清楚一點嗎
謝謝囉

2007-12-27 17:11:30 · update #1

2 個解答

主要部分是像這樣 (出自 http://programming.im.ncnu.edu.tw/Chapter6.htm)
把它叫做 M

圖片參考:http://programming.im.ncnu.edu.tw/閏年.jpg

要對 year 從 1800 到 1900 年做檢查,
則修改如下--
最上方要加上一新方塊, 及其下接之一新菱形 (叫她 D),
方塊內容為 year = 1800,
菱形 D 內容為 year <= 1900,
菱形 D 的 true 出口 接上圖 M 的最上方菱形,
菱形 D 的 false 出口 接到 STOP (結束).
另外, 把上圖 M 中的方塊(輸出), 都接到(指向) 菱形 D.
流程圖中的 year % 4 = 0 是
檢查 year 除以 4 的餘數是否為 0
(也就是檢查 year 是否為 4 的倍數)
(% 是 c 程式語言的用法)
對於每個 year, 請注意, 我們檢查是否為閏年
的檢查條件的次序, 是有安排的,
這樣的次序的效率最好.
若是先檢查是否為 400 的倍數, 然後則檢查是否
為 100 或 4 的倍數, 則整個的運算次數會變高,
使效率降低. (這可見:
http://ind.ntou.edu.tw/~b0170/data_structure/8-1-4.htm)
這就牽涉到演算法分析了, 也許您用不到, 但
演算法分析是電腦科學的精神, 而流程圖是演算法
的一種表示方法. 因此流程圖也不得不考慮執行效率!!

2008-01-03 13:58:52 補充:
我忘了, 輸出方塊都接到(指向) 菱形 D 之前,
還要經過一個 year = year + 1 的方塊, 讓 year
每次增加一.

2008-01-03 06:23:27 · answer #1 · answered by Leslie 7 · 0 0

#include
#include
#include

void main{

int year=1801;

printf("19~20世紀的閏年有:\n");

for(year=1801;year<1901;year ){
if(year%4==0&&year0!=0)
printf("西元%d年\n",year);
if(year@0==0)
printf("西元%d年\n",year);

}

printf("\n按任意鍵離開");
getch();

}


流程圖:

貼在部落格:http://tw.myblog.yahoo.com/jw!JHrbTYWFEUe5bFjHluZij7y8TQ--/gallery

2007-12-26 17:40:09 補充:
year + + 消失了 記得補上

if(year@0==0)

改成

if( year % 400 ==0)

2007-12-26 17:41:17 補充:
if(year%4==0&&year0!=0)

改成

if(year%4==0&&year % !=0)

2008-01-03 18:34:26 補充:
#include
#include
#include

void main{

int year=1801;

printf("19~20世紀的閏年有:\n");

for(year=1801;year<1901;year + + ){
if(year%4==0&&year % 100 !=0)
printf("西元%d年\n",year);
if(year% 400 ==0)
printf("西元%d年\n",year);

}

printf("\n按任意鍵離開");
getch();

}

2008-01-03 18:35:24 補充:
亂碼好多 貼在家族給你
http://tw.club.yahoo.com/clubs/sillysheep/

2008-01-03 18:39:24 補充:
貼部落格給你好了...家族也貼不出來
http://tw.myblog.yahoo.com/jw!JHrbTYWFEUe5bFjHluZij7y8TQ--/article?mid=50&prev=51&next=49

2008-01-03 18:44:40 補充:
嗚 ...我選不上了...不過你有問題找我及時通吧
wa007123456@yahoo.com.tw

2008-01-03 18:46:19 補充:
器死我拉 爛yhoo 貼我的程式碼也有錯誤...幹

2008-01-03 18:58:59 補充:
另外我把編譯出來的程式放在家族檔案庫裡面 你可以下載來玩玩..
http://tw.club.yahoo.com/clubs/sillysheep/

2007-12-26 12:26:11 · answer #2 · answered by ? 1 · 0 0

fedest.com, questions and answers