這次的實驗主要是四個問題,在解決問題的基礎上要求使用不同的迴圈結構和分支結構。在複習c語言的同時了解c++不同於c語言的地方。
2-28 /*問題描述:實現乙個簡單的選單程式,執行時現實「menu: a(dd) d(elete) s(ort) q(uit) , select one:」提示使用者輸入。a表示增加,d表示刪除,s表示排序,q表示退出,輸入a、d、s時分別提示「資料已經增加、刪除、排序。」,輸入為q時程式結束。*/
# if選擇結構原始碼:
1 #include2# switch選擇結構原始碼:using
namespace
std;
3int
main()428
return0;
29 }
1 #include2執行結果截圖:using
namespace
std;
3int
main()418
19case'd
':2022
23case's
':2426
27case'q
':2830
31default:cout << "
wrong directive, please try agine
"<
33}34return0;
35 }
2-29 /*問題描述:用窮舉法找出1--100間的質數並顯示出來。分別使用while,do...while,for迴圈結構語句實現*/
# while迴圈結構:
1 #include2#do...white迴圈結構:using
namespace
std;
3int
main()416
if(i<=j)
1723 i++;24}
25return0;
26 }
1 #include2#for迴圈結構:using
namespace
std;
3int
main()
4while(j<=i);
16if(i==j)
1724 i++;
2526 }while(i<=100
);27
return0;
28 }
1 #include2執行結果截圖:using
namespace
std;
3int
main()4
19}20return0;
21 }
2-32 /*問題描述:在乙個程式中定義乙個整形變數,賦予1--100的值。要求使用者猜這個數,比較兩個數的大小,把結果提示給使用者,直到猜對為止。分別使用while,do...while語句實現迴圈*/
#while迴圈結構:
1#do...while迴圈結構:/*程式每次生成的數字和當前的時間有關,
2而時間是變化的,所以每次的數字也不同
*/3 #include4 #include5 #include/*
引用time*/6
using
namespace
std;
7int
main()
826 cout<
conguratulations,you get it right
"<
27return0;
28 }
1 #include2 #include3 #include4執行結果截圖:using
namespace
std;56
intmain()
7while(a!=gu_num);
2829 cout<
conguratulations,you get it right
"<
30return0;
31 }
2-34/*問題描述:口袋中有紅黃藍白黑5種顏色的球若干個。每次從口袋中取出3個不同顏色的球,問有多少種取法?*/
分析問題是組合數型問題,採用組合數公式cn
m=n!/m!/(n-m)!來計算方法總數,為了提高**重用性,這裡引入新的變數來表示總數與取數。
**展示:
1執行結果截圖:/*分析問題本質是乙個組合數,可以採用簡單的
2組合數計算公式 n!/(m!*(n-m)!) ,如此,可以
3定義乙個階乘函式
*/4 #include5
using
namespace
std;67
long factorial(long );//
階乘函式宣告 89
intmain()
1017
18long factorial(long x)//
階乘函式定義
19
實驗小結:
1、通過這四個實驗,較好的複習了c語言的基礎的選擇,迴圈結構。同時掌握了c++基本的輸入,輸出的方式。
2、自主學習所得:本次實驗收穫較大的是學會了引入隨機數,並且在過程中了解了偽隨機數及如何避免重複得到同乙個隨機數。對比書本上提供的種子方法,我更傾向於引入time()。
此處貼上關於time()用法的鏈結 /*
C 實驗一 簡單程式設計
內容提要 設計程式找出1 100間的質數,顯示出來。把有10個整數元素的陣列用氣泡排序法按由小到大公升序排列。二維陣列 m個同學n門課成績處理,字元陣列存放姓名。基本要求 用for或while或do while迴圈語句實現,能對資料進行排序的程式,能運用二維陣列能熟練對學生成績進行輸入,查詢,排序,...
實驗一 C 簡單程式設計
實驗一 2 28 實現乙個簡單的選單程式,執行時顯示 menu a dd d elete s ort q uit selete one 提示使用者輸入。a表示增加,d表示刪除,s表示排序,q表示退出。輸入為a d s時分別提示 資料已經增加 刪除 排序。輸入q時程式結束。1 if.else.語句,b...
實驗一 c 簡單程式設計
一 實驗內容 1 ex 2 28 1 用if.else判斷 1 include2 using namespace std 3int main 420 return0 21 執行結果如下 2 用switch語句 1 include2 using namespace std 3int main 417 ...