實驗教學課件市公開課獲獎課件_第1頁
實驗教學課件市公開課獲獎課件_第2頁
實驗教學課件市公開課獲獎課件_第3頁
實驗教學課件市公開課獲獎課件_第4頁
實驗教學課件市公開課獲獎課件_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、哈爾濱工業(yè)大學計算機科學與技術學院蘇小紅C語言試驗第1頁第1頁主教材:蘇小紅等, C語言大學實用教程,電子工業(yè)出版社,2004,8蘇小紅等, C語言大學實用教程(第2版),電子工業(yè)出版社,,2試驗教材:蘇小紅等,C語言大學實用教程習題與試驗指導,電子工業(yè)出版社,2004,8蘇小紅等,C語言大學實用教程學習指導,電子工業(yè)出版社,,4第2頁第2頁試驗內容第3頁第3頁試驗1: 熟悉上機環(huán)境和順序結構編程練習鍵盤輸入與屏幕輸出練習 問題1:要使下面程序輸出語句在屏幕上顯示1,2,34,則從鍵盤輸入數(shù)據(jù)格式應為下列備選答案中哪一個? #include main()char a,b; int c; sca

2、nf(%c%c%d,&a,&b,&c);printf(%c,%c,%dn,a,b,c);A) 1 2 34 B) 1, 2, 34 C) 1,2,34 D) 12 34第4頁第4頁試驗1: 熟悉上機環(huán)境和順序結構編程練習鍵盤輸入與屏幕輸出練習 問題2:與上面程序鍵盤輸入相同情況下,要使上面程序輸出語句在屏幕上顯示1 2 34,則應修改程序中哪條語句?如何修改? #include main()char a,b; int c; scanf(%c%c%d,&a,&b,&c);printf(%c,%c,%dn,a,b,c);第5頁第5頁問題3:要使上面程序鍵盤輸入數(shù)據(jù)格式為1,2,34,輸出語句在屏幕

3、上顯示結果也為1,2,34,則應修改程序中哪條語句?如何修改?#include main()char a,b; int c; scanf(%c%c%d,&a,&b,&c);printf(%c,%c,%dn,a,b,c);試驗1: 熟悉上機環(huán)境和順序結構編程練習鍵盤輸入與屏幕輸出練習 第6頁第6頁問題4:要使上面程序鍵盤輸入數(shù)據(jù)格式為1,2,34,而輸出語句在屏幕上顯示結果為1,2,34,則應修改程序中哪條語句?如何修改?提醒:利用轉義字符輸出字符單引號字符。#include main()char a,b; int c; scanf(%c%c%d,&a,&b,&c);printf(%c,%c,%

4、dn,a,b,c);試驗1: 熟悉上機環(huán)境和順序結構編程練習鍵盤輸入與屏幕輸出練習 第7頁第7頁問題5:要使上面程序鍵盤輸入無論用下面哪種格式輸入數(shù)據(jù),程序在屏幕上輸出結果都為1,2,34,則程序應修改程序中哪條語句?如何修改?第一個輸入方式:1,2,34(以逗號作為分隔符)第二種輸入方式:1 2 34(以空格作為分隔符)第三種輸入方式:1 2 34(以Tab鍵作為分隔符)第四種輸入方式:1 2 34(以回車符作為分隔符) 試驗1: 熟悉上機環(huán)境和順序結構編程練習鍵盤輸入與屏幕輸出練習 第8頁第8頁試驗1: 熟悉上機環(huán)境和順序結構編程練習計算定期存款本利之和 設銀行定期存款年利率rate為2.

5、25%,并已知存款期為n年,存款本金為capital元,試編程計算n年后本利之和deposit。要求定期存款年利率rate、存款期n和存款本金capital均由鍵盤輸入。 第9頁第9頁試驗2: 選擇結構編程練習身高預測 每個做父母都關懷自己孩子成人后身高,據(jù)相關生理衛(wèi)生知識與數(shù)理統(tǒng)計分析表明,影響小孩成人后身高原因有遺傳、飲食習慣與堅持體育鍛煉等。小孩成人后身高與其父母身高和本身性別密切相關。設faHeight為其父身高,moHeight為其母身高,身高預測公式為:男性成人時身高 = (faHeight + moHeight) * 0.54(cm)女性成人時身高 = (faHeight * 0

6、.923 + moHeight) / 2(cm)另外,假如愛慕體育鍛煉,那么可增長身高2%,假如有良好衛(wèi)生飲食習慣,那么可增長身高1.5%。第10頁第10頁試驗2: 選擇結構編程練習身高預測 編程從鍵盤輸入你性別(用字符型變量sex存儲,輸入字符F表示女性,輸入字符M表示男性)、父母身高(用實型變量存儲,faHeight為其父身高,moHeight為其母身高)、是否愛慕體育鍛煉(用字符型變量sports存儲,輸入字符Y表示愛慕,輸入字符N表示不愛慕)、是否有良好飲食習慣等條件(用字符型變量diet存儲,輸入字符Y表示愛慕,輸入字符N表示不愛慕),利用給定公式和身高預測辦法對你身高進行預測。 第

7、11頁第11頁試驗2:選擇結構編程練習簡樸計算器程序 要求用switch語句編程設計一個簡樸計算器程序。要求依據(jù)用戶從鍵盤輸入表示式:操作數(shù)1 運算符op 操作數(shù)2計算表示式值,指定算術運算符為加(+)、減(-)、乘(*)、除(/)。第12頁第12頁例4.8:計算器程序編程設計一個簡樸計算器程序,要求依據(jù)用戶從鍵盤輸入下列形式表示式: 操作數(shù)1 運算符op 操作數(shù)2 然后,計算并輸出表示式值 指定運算符為 加(+) 減(-) 乘(*) 除(/) 第13頁第13頁main()int data1, data2; /*定義兩個操作符*/char op; /*定義運算符*/printf(Please

8、enter the expression:);scanf(%d%c%d, &data1, &op, &data2); /*輸入運算表示式*/switch (op) case +: /*處理加法*/printf(%d + %d = %dn, data1, data2, data1 + data2); break;case -: /*處理減法*/printf(%d - %d = %dn, data1, data2, data1 - data2);break;case *: /*處理乘法*/printf(%d * %d = %dn, data1, data2, data1 * data2); bre

9、ak;case /: /*處理除法*/if (0 = data2) printf(Division by zero!n);else printf(%d/%d = %dn, data1, data2, data1/data2); break;default: printf(Unknown operator! n);例4.8第14頁第14頁試驗2:選擇結構編程練習簡樸計算器程序 本試驗程序是在例4.8基礎上,增長下列要求:(1)假如要求程序能進行浮點數(shù)算術運算,程序應當如何修改? 如何比較實型變量data2和常數(shù)0是否相等?(2)假如要求輸入算術表示式中操作數(shù)和運算符之間能夠加入任意多空白符,那么

10、程序如何修改?(3)(選作題)假如要求連續(xù)做多次算術運算,每次運算結束后,程序都給出提醒:Do you want to continue(Y/N or y/n)?假如用戶輸入Y或y時,程序繼續(xù)進行其它算術運算,不然程序才退出運營狀態(tài)。那么,程序如何修改? 第15頁第15頁語句 if (0 = data2)必要性1998年11月科學美國人雜志,描述了美國導彈巡洋艦約克敦號上一起事故,除零錯造成軍艦推動系統(tǒng)關閉假如要求程序能進行浮點數(shù)算術運算,語句 if (0 = data2)還能用于比較實型變量data2和常數(shù)0大小嗎?if (fabs(data2) = 1e-7)假如要求輸入算術表示式中操作數(shù)

11、和運算符之間能夠加入任意多個空格符,那么程序如何修改?scanf(%d%c%d, &data1, &op, &data2);scanf(%d%1s%d, &data1, &op, &data2);試驗2:選擇結構編程練習簡樸計算器程序 第16頁第16頁試驗3:循環(huán)結構編程練習猜數(shù)游戲 在這個試驗中,我們將嘗試編寫一個猜數(shù)游戲程序,這個程序看上去有些難度,但是假如你按下列要求以循序漸進方式進行編程實現(xiàn),你就會發(fā)覺其實這個程序是很容易實現(xiàn)。先編寫第一個程序,然后試著在第一個程序基礎上編寫第二個程序,。程序1:編程先由計算機“想”一個1到100之間數(shù)請人猜,假如人猜對了,則計算機給出提醒:“Righ

12、t!”, 不然提醒:“Wrong!”,并告訴人所猜數(shù)是大(Too high)還是小(Too low),然后結束游戲。要求每次運營程序時機器所“想”數(shù)不能都是同樣。 第17頁第17頁猜數(shù)游戲用到庫函數(shù)隨機函數(shù)srand為函數(shù)rand()設置隨機數(shù)種子來實現(xiàn)對函數(shù)rand所產生偽隨機數(shù) “隨機化” 通過鍵入隨機數(shù)種子,產生0,100之間隨機數(shù)scanf(%u, &seed); srand(seed); magic = rand() % 100 + 1; 第18頁第18頁#include #include main() int magic; int guess; int counter; unsig

13、ned int seed; printf(Please enter seed:);scanf(%u, &seed);srand(seed);magic = rand() % 100 + 1; counter = 0; doprintf(Please guess a magic number:);scanf(%d, &guess); counter +; if (guess magic) printf(Wrong! Too high!n);else if (guess magic) printf(Wrong! Too low!n);while (guess != magic); printf(R

14、ight!n); printf(counter = %d n, counter); 第19頁第19頁猜數(shù)游戲用到庫函數(shù)使用計算機讀取其時鐘值并把該值自動設置為隨機數(shù)種子,產生0,100之間隨機數(shù)函數(shù)time()返回以秒計算當前時間值,該值被轉換為無符號整數(shù)并用作隨機數(shù)發(fā)生器種子 #include srand(time(NULL); magic = rand() % 100 + 1; 第20頁第20頁#include #include #include main() int magic; int guess; int counter; srand(time(NULL);magic = rand(

15、) % 100 + 1; counter = 0; doprintf(Please guess a magic number:);scanf(%d, &guess); counter +; if (guess magic) printf(Wrong! Too high!n);else if (guess magic) printf(Wrong! Too low!n);while (guess != magic); printf(Right!n); printf(counter = %d n, counter); 第21頁第21頁程序2:編程先由計算機“想”一個1到100之間數(shù)請人猜,假如人猜對

16、了,則結束游戲,并在屏幕上輸出人猜了多少次才猜對此數(shù),以此來反應猜數(shù)者“猜”水平,不然計算機給出提醒,告訴人所猜數(shù)是太大還是太小,直到人猜對為止。 試驗3:循環(huán)結構編程練習猜數(shù)游戲 第22頁第22頁程序3:編程先由計算機“想”一個1到100之間數(shù)請人猜,假如人猜對了,則結束游戲,并在屏幕上輸出人猜了多少次才猜對此數(shù),以此來反應猜數(shù)者“猜”水平,不然計算機給出提醒,告訴人所猜數(shù)是太大還是太小,最多能夠猜10次,假如猜了10次仍未猜中話,則結束游戲。 試驗3:循環(huán)結構編程練習猜數(shù)游戲 第23頁第23頁#include #include #include main() int magic; int

17、guess; int counter; srand(time(NULL); magic = rand() % 100 + 1; counter = 0; doprintf(Please guess a magic number:);scanf(%d, &guess); counter +; if (guess magic) printf(Wrong! Too high!n);else if (guess magic) printf(Wrong! Too low!n);elseprintf(Right!n);while (guess != magic) & (counter 10); print

18、f(counter = %d n, counter); 第24頁第24頁程序4:編程先由計算機“想”一個1到100之間數(shù)請人猜,假如人猜對了,并在屏幕上輸出人猜了多少次才猜對此數(shù),以此來反應猜數(shù)者“猜”水平,且結束游戲,不然計算機給出提醒,告訴人所猜數(shù)是太大還是太小,最多能夠猜10次,假如猜了10次仍未猜中話,則停止本次猜數(shù),然后繼續(xù)猜下一個數(shù)。每次運營程序能夠重復猜多個數(shù),直到操作者想停止時才結束。 試驗3:循環(huán)結構編程練習猜數(shù)游戲 第25頁第25頁試驗4:函數(shù)編程練習小學生加法考試題 程序1:通過輸入兩個加數(shù)給學生出一道加法運算題,假如輸入答案正確,則顯示“Right!”,不然顯示“Not

19、 correct! Try again!”;第26頁第26頁試驗4:函數(shù)編程練習小學生加法考試題/* 函數(shù)功效: 計算兩整型數(shù)之和,假如與用戶輸入答案相同,則返回1,不然返回0 函數(shù)參數(shù): 整型變量a和b,分別代表被加數(shù)和加數(shù) 函數(shù)返回值:當a加b結果與用戶輸入答案相同時,返回1,不然返回0*/int AddTest(int a, int b)int answer;printf(%d+%d=, a, b);scanf(%d, &answer);if (a+b = answer) return 1;else return 0;void Print(int flag) if (flag) prin

20、tf(Right!n); else printf(Not correct!n);第27頁第27頁試驗4:函數(shù)編程練習小學生加法考試題 程序2:通過輸入兩個加數(shù)給學生出一道加法運算題,假如輸入答案正確,則顯示“Right!”,不然顯示“Not correct! Try again!”,直到做對為止;第28頁第28頁main() int a, b, answer; printf(Input a,b:); scanf(%d,%d, &a, &b); answer = AddTest(a, b); Print(answer);do while (answer = 0);試驗4:函數(shù)編程練習小學生加法考

21、試題 第29頁第29頁試驗4:函數(shù)編程練習小學生加法考試題 程序3:通過輸入兩個加數(shù)給學生出一道加法運算題,假如輸入答案正確,則顯示“Right!”,不然提醒重做,顯示“Not correct! Try again!”,最多給三次機會,假如三次仍未做對,則顯示“Not correct. You have tried three times! Test over!”程序結束;第30頁第30頁main() answer = AddTest(a, b); Print(answer, chance); chance = 0; do chance+; while (answer = 0 & chance

22、 3);試驗4:函數(shù)編程練習小學生加法考試題 第31頁第31頁試驗4:函數(shù)編程練習小學生加法考試題 程序4:連續(xù)做10道題,通過計算機隨機產生兩個110之間加數(shù)給學生出一道加法運算題,假如輸入答案正確,則顯示“Right!”,不然顯示“Not correct!”,不給機會重做,10道題做完后,按每題10分統(tǒng)計總得分,然后打印出總分和做錯題目數(shù)量。第32頁第32頁 srand(time(NULL); error = 0; score = 0; for (i=0; i10; i+) a = rand()%10 + 1; b = rand()%10 + 1; answer = AddTest(a,

23、b); Print(answer); if (answer = 1) score = score + 10; else error+; 試驗4:函數(shù)編程練習小學生加法考試題 第33頁第33頁試驗5:數(shù)組編程練習檢查并打印魔方矩陣 在下面55魔方矩陣中,每一行、每一列、每一對角線上元素之和都是相等,試編寫程序將這些魔方矩陣中元素讀到一個二維整型數(shù)組中,然后,檢查其是否為魔方矩陣,并將其按下列格式顯示到屏幕上。 17241815235714164613202210121921311182529第34頁第34頁試驗5:數(shù)組編程練習餐飲服務質量調查打分 有40個學生被邀請給自助餐廳食品和服務質量打分(

24、110等級),統(tǒng)計調查結果,并用*打印下列形式統(tǒng)計結果直方圖 Grade CountHistogram 1 5* 2 10* 3 7* .第35頁第35頁試驗5:數(shù)組編程練習餐飲服務質量調查打分 提醒定義數(shù)組score存儲打分數(shù)定義數(shù)組count為計數(shù)器(count0不用)計算統(tǒng)計結果:設置一個循環(huán),依次檢查數(shù)組元素值scorei,是1則將數(shù)組元素count1加1,是2則將數(shù)組元素count2加1,依這類推for (i=0; iSTUDENTS; i+)countscorei +;打印統(tǒng)計結果,設置一個循環(huán),按count數(shù)組元素值,打印相應個數(shù)符號*第36頁第36頁試驗6:一維數(shù)組和函數(shù)綜合編

25、程練習 學生成績統(tǒng)計 從鍵盤輸入一個班(全班最多不超出30人)學生某門課成績,當輸入成績?yōu)樨撝禃r,輸入結束,分別統(tǒng)計下列內容:(1)統(tǒng)計不及格人數(shù)并打印不及格學生名單;(2)統(tǒng)計成績在全班平均分及平均分之上學生人數(shù)并打印其學生名單;(3)統(tǒng)計各分數(shù)段學生人數(shù)及所占百分比; 第37頁第37頁試驗6:一維數(shù)組和函數(shù)綜合編程練習 學生成績統(tǒng)計 提醒:(1)用numi存儲第i+1個學生學號,用scorei存儲第i+1個學生成績。設置計數(shù)器count,當scorei=aver時,打印numi和scorei。(3)將成績分為六個分數(shù)段,60分下列為第0段,6069為第1段,7079為第2段,8089為第3

26、段,9099為第4段,100分為第5段,因此,成績與分數(shù)段相應關系為:各分數(shù)段學生人數(shù)保留在數(shù)組stu中,用stui存儲第i段學生人數(shù)。對于每個學生成績,先計算出該成績所相應分數(shù)段,然后將相應分數(shù)段人數(shù)加1,即stui+。 第38頁第38頁試驗7:二維數(shù)組、函數(shù)和慣用算法綜合編程練習 成績排名次 某班期末考試科目為數(shù)學(MT)、英語(EN)和物理(PH),有最多不超出30人參與考試。考試后要求:(1)計算每個學生總分和平均分;(2)按總分成績由高到低排出成績名次;(3)打印出名次表,表格內包括學生編號、各科分數(shù)、總分和平均分;(4)任意輸入一個學號,能夠查找出該學生在班級中排名及其考試分數(shù) 第

27、39頁第39頁試驗7:二維數(shù)組、函數(shù)和慣用算法綜合編程練習 成績排名次 提醒:用二維數(shù)組score存儲每個學生各門課程成績,用一維數(shù)組num存儲每個學生學號,用一維數(shù)組sum存儲每個學生總分,用一維數(shù)組aver存儲每個學生平均分。(1)用函數(shù)編程實現(xiàn)計算每個學生總分;(2)用函數(shù)編程實現(xiàn)按總分由高到低對學生成績排序,注意:排序時,一維數(shù)組sum元素改變應連同二維數(shù)組score和一維數(shù)組num和aver一起改變;(3)用函數(shù)編程實現(xiàn)查找學號為k學生在班級中排名名次及相關成績等信息,找不屆時返回-1值。 第40頁第40頁試驗8:數(shù)組、指針和函數(shù)綜合編程練習 打印最高分和學號 假設每班人數(shù)最多不超出

28、40人,詳細人數(shù)由鍵盤輸入,試編程打印最高分及其學號。程序1:用一維數(shù)組和指針變量作函數(shù)參數(shù),編程打印某班一門課成績最高分和學號。int FindMax(int score, long num, int n, long *pMaxNum); 第41頁第41頁/* 函數(shù)功效:計算最高分及最高分學生學號 函數(shù)參數(shù):整型數(shù)組score,存儲學生成績 長整型數(shù)組num,存儲學生學號 長整型指針變量pMaxNum,存儲求出來最高分學生學號 函數(shù)返回值:最高分*/int FindMax(int score, long num, int n, long *pMaxNum) int i;int maxScor

29、e;maxScore = score0;*pMaxNum = num0; for (i=1; i maxScore) maxScore = scorei; *pMaxNum = numi; return (maxScore); 第42頁第42頁試驗8:數(shù)組、指針和函數(shù)綜合編程練習 打印最高分和學號 程序2:用二維數(shù)組和指針變量作函數(shù)參數(shù),編程打印3個班學生(假設每班4個學生)某門課成績最高分,并指出含有該最高分成績學生是第幾種班第幾種學生。int FindMax(int scoreCLASSSTU, int m, int *pRow, int *pCol); 第43頁第43頁int FindM

30、ax(int scoreSTU, int m, int *pRow, int *pCol) int i, j, maxScore;maxScore = score00; *pRow = 0; *pCol = 0; for (i = 0; im; i+)for (j = 0; j maxScore) maxScore = scoreij; *pRow = i; *pCol = j; return (maxScore); 試驗8:數(shù)組、指針和函數(shù)綜合編程練習 打印最高分和學號 第44頁第44頁試驗8:數(shù)組、指針和函數(shù)綜合編程練習 打印最高分和學號 程序3:用指向二維數(shù)組第0行第0列元素指針作函數(shù)參

31、數(shù),編寫一個能計算任意m行n列二維數(shù)組中最大值,并指出其所在行列下標值函數(shù),利用該函數(shù)計算3個班學生(假設每班4個學生)某門課成績最高分,并指出含有該最高分成績學生是第幾種班第幾種學生。int FindMax(int *p, int m, int n, int *pRow, int *pCol); 第45頁第45頁int FindMax(int *p, int m, int n, int *pRow, int *pCol) int i, j, maxScore; maxScore = p0; *pRow = 0; *pCol = 0; for (i = 0; im; i+) for (j =

32、0; j maxScore) maxScore = pi*n+j; *pRow = i; *pCol = j; return (maxScore); 試驗8:數(shù)組、指針和函數(shù)綜合編程練習 打印最高分和學號 第46頁第46頁試驗8:數(shù)組、指針和函數(shù)綜合編程練習 打印最高分和學號 程序4:編寫一個能計算任意m行n列二維數(shù)組中最大值,并指出其所在行列下標值函數(shù),利用該函數(shù)和動態(tài)內存分派辦法,計算任意m個班、每班n個學生某門課成績最高分,并指出含有該最高分成績學生是第幾種班第幾種學生。 int FindMax(int *p, int m, int n, int *pRow, int *pCol); 第

33、47頁第47頁試驗9:結構體編程練習在屏幕上模擬顯示一個數(shù)字式時鐘 定義一個時鐘結構體類型:struct clock int hour; int minute; int second;typedef struct clock CLOCK;然后,將下列用全局變量編寫時鐘模擬顯示程序改成用CLOCK結構體變量類型重新編寫。 時:分:秒第48頁第48頁void update(CLOCK *t) t-second+; if (t-second = 60) t-second = 0; t-minute+; if (t-minute = 60) t-minute = 0; t-hour+; if (t-h

34、our = 24) t-hour = 0;void display(CLOCK *t) printf(%2d:%2d:%2dr, t-hour, t-minute, t-second);試驗9:結構體編程練習在屏幕上模擬顯示一個數(shù)字式時鐘第49頁第49頁試驗10:文獻編程練習 文獻拷貝程序1:依據(jù)程序提醒從鍵盤輸入一個已存在文本文獻完整文獻名,并再輸入一個新文本文獻完整文獻名,然后編程將已存在文本文獻中內容所有拷貝到新文本文獻中去,利用文本編輯軟件,通過查看文獻內容驗證程序執(zhí)行結果。第50頁第50頁試驗10:文獻編程練習 文獻拷貝程序2:模擬DOS命令下COPY命令,在DOS狀態(tài)下鍵入命令行,

35、以實現(xiàn)將一個已存在文本文獻中內容所有拷貝到新文本文獻中去,利用文本編輯軟件,通過查看文獻內容驗證程序執(zhí)行結果。第51頁第51頁試驗10:文獻編程練習 文獻拷貝程序3:(選作)依據(jù)提醒從鍵盤輸入一個已存在文本文獻完整文獻名,并再輸入另一個已存在文本文獻完整文獻名,然后編程將第一個文本文獻內容追加到第二個文本文獻原內容之后,利用文本編輯軟件,通過查看文獻內容驗證程序執(zhí)行結果。第52頁第52頁試驗10:文獻編程練習 文獻拷貝程序4:(選作)依據(jù)提醒從鍵盤輸入一個已存在文本文獻完整文獻名,并再輸入另一個已存在文本文獻完整文獻名,然后編程將源文本文獻內容追加到目的文本文獻原內容之后,并編程實現(xiàn)在顯示器上

36、顯示源文獻和目的文獻文獻內容,以此來驗證程序執(zhí)行結果。 第53頁第53頁課外試驗題目試驗一 計算到期存款本息之和 已知銀行整存整取存款不同期限月息利率分別為:2.25% 期限一年2.43% 期限二年2.70% 期限三年2.88% 期限五年3.00% 期限八年要求輸入存錢本金和期限,求到期時,能從銀行得到利息與本金累計。提醒:用switch語句編程。 第54頁第54頁課外試驗題目試驗二 存款預算 假設銀行一年整存零取月息為1.875%,現(xiàn)在某人手頭有一筆錢,他打算在此后五年中每年年終取出1000元作為孩子明年教育金,到第五年孩子畢業(yè)時剛好取完這筆錢,現(xiàn)在請你算一算第一年年初他應存入銀行多少錢呢?

37、 第55頁第55頁課外試驗題目試驗二 存款預算 提醒:分析存錢和取錢過程可采用逆推辦法,然后采用迭代法求解。若第五年年終連本帶息要取出1000元,則第五年年初銀行中存款數(shù)額y5應為:y5 = 1000 / (1 + 12 * 0.01875)按題意,由第五年年初銀行中存款數(shù)額y5,求得第四年年初銀行中存款數(shù)額y4應為:y4 = (y5 + 1000) / (1 + 12 * 0.01875)依這類推,可由第n+1年年初銀行中存款數(shù)額yn+1求得第n年年初銀行中存款數(shù)額y n為:y n = (y n+1 + 1000) / (1 + 12 * 0.01875)以0作為y n+1初值,對上式進行逆

38、推迭代,迭代5次結果即為第1年年初銀行中存款數(shù)額y 1,也就是他現(xiàn)在要存入銀行錢數(shù)。 第56頁第56頁課外試驗題目試驗三 尋找最正確存款方案 已知銀行整存整取存款不同期限月息利率分別為:2.25% 期限一年2.43% 期限二年2.70% 期限三年2.88% 期限五年3.00% 期限八年假設銀行對定時存款過期部分不付利息,現(xiàn)在某人有2000元錢,要存,問怎樣存才干使后得到本利之和累計最多? 第57頁第57頁課外試驗題目試驗三 尋找最正確存款方案提醒:為了得到最多利息,存入銀行錢應在到期時馬上就取出來,然后立刻將原來本金和利息加起來再作為新本金存入銀行,這么本利不停地滾動直到滿二十年為止。因為存款

39、利率不同,因此,不同存款方法(年限)存二十年得到利息也是不同。分析題意,設2000元存,其中一年期存了n1次,二年期存了n2次,三年期存了n3次,五年期存了n5次,八年期存了n8次,則到期時存款人應得本利之和為:其中,rateN對應存款年限利率。第58頁第58頁課外試驗題目試驗三 尋找最佳存款方案依據(jù)題意,還可得到下列限制條件:0 n8 20 n5 (20 8 * n8) / 50 n3 (20 8 * n8 5 * n5) / 30 n2 (20 8 * n8 5 * n5 3 * n3) / 2n1 = 20 8 * n8 5 * n5 3 * n3 2 * n2采用窮舉法窮舉所有n8,n

40、5,n3,n2,n1組合,代入本利計算公式,計算得到所有存款方案。求最大存款方案辦法為:將現(xiàn)行存款方案與過去統(tǒng)計最大存款方案max進行比較,若現(xiàn)行存款方案可得到本利之和大,則統(tǒng)計現(xiàn)行存款方案(即n1,n2,n3,n5,n8值)和本利之和最大值max。 第59頁第59頁課外試驗題目試驗四 抓交通肇事犯 一輛卡車違反了交通規(guī)則,撞人后逃逸?,F(xiàn)場有三人目擊事件,但都沒有記住車號,只記住車號一些特性。甲說:車號前兩位數(shù)字是相同;乙說:車號后兩位數(shù)字是相同,但與前兩位不同;丙是位數(shù)學家,他說:四位車號恰好是一個整數(shù)平方?,F(xiàn)在請你依據(jù)以上線索幫助警方找出車號方便盡快破案。 第60頁第60頁課外試驗題目試驗

41、四 抓交通肇事犯 提醒:假設這個四位數(shù)前兩位數(shù)字都是i,后兩位數(shù)字都是j,則這個也許四位數(shù)k為:k = 1000 * i + 100 * i + 10 * j + j其中,i和j都在09之間改變?,F(xiàn)在還需使k滿足是一個整數(shù)m平方,由于k是一個四位數(shù),因此,m值不也許小于31,因此,可從31開始試驗是否滿足k = m*m,若不滿足,則m加1再試,直到找到滿足這些限制條件k為止結束測試。 第61頁第61頁課外試驗題目試驗五 求解不等式 已知立方和不等式為:13 + 23 + + m3 = n時,利用break語句退出循環(huán),打印出相應結果。這里,因立方運算數(shù)值較大,n應定義為長整型。 第62頁第62

42、頁課外試驗題目試驗六 計算禮炮聲響次數(shù) 為慶?;顒?,現(xiàn)在,A、B、C三條軍艦要同時開始鳴放禮炮各21響。已知A艦每隔5秒放1次,B艦每隔6秒放1次,C艦每隔7秒放1次。假設各炮手對時間掌握非常準確,那么請問觀眾總共能夠聽到幾次禮炮聲呢? 第63頁第63頁課外試驗題目試驗六 計算禮炮聲響次數(shù) 提醒:用n作為聽到禮炮聲響計數(shù)器,用t表示時間,從第0秒開始放第1響,到放完最后一響,最長時間為20*7,因此,能夠用一個for循環(huán)來模擬每一秒鐘時間改變,即t從0開始循環(huán)到t20*7時結束。在循環(huán)體中判斷:假如時間t是5整數(shù)倍且21響未放完,則A艦放一響,計數(shù)器n加1;假如時間t是6整數(shù)倍且21響未放完,則B艦放一響,計數(shù)器n加1;假如時間t是7整數(shù)倍且21響未放完,則C艦放一響,計數(shù)器n加1。但要注意:當有兩艦或三艦同時鳴放時,應作1響統(tǒng)計,即n不能同時計數(shù),只要有一個執(zhí)行了計數(shù),其它兩個就不能再進行計數(shù)。 利用continue語句編程實現(xiàn)。 第64頁第64頁課外試驗題目試驗七 產值翻倍 假設當年產值為100

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論