西南交通大學(xué)C++上機實驗答案_第1頁
西南交通大學(xué)C++上機實驗答案_第2頁
西南交通大學(xué)C++上機實驗答案_第3頁
西南交通大學(xué)C++上機實驗答案_第4頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實驗 1教學(xué)班級:學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2014 年 3 月 1 日實驗地點: ( 機房 )指導(dǎo)教師簽名: _實驗成績: _一、實驗?zāi)康?熟悉 C+程序的集成開發(fā)環(huán)境;2學(xué)習(xí)新建和打開控制臺應(yīng)用程序的方法;3掌握簡單數(shù)據(jù)運算,以及輸入與輸出方法。二、實驗任務(wù)1輸入一攝氏溫度,輸出顯示所轉(zhuǎn)換的華氏溫度。(提示:攝氏溫度 =( 華氏溫度 -32) × 5/9 )2畫出一頭威武雄壯的雄獅。,%,%/%/%,%c "" J/%. %/ o o % %. % _ |%(_Y_)%|/|/) | |/_|_(_)三、實驗結(jié)果 (源程序 + 注釋)1.源程序#incl

2、ude <iostream>usingnamespacestd;void main()double a,b;cout<<" 請輸入一攝氏溫度: " <<endl;cin>>a;b=a*9/5+32;cout<< " 轉(zhuǎn)換的華氏溫度為 :" <<b<<endl;2源程序#include <iostream>usingnamespacestd;voidmain()cout<< ",% "<<endl;cout<&l

3、t;",%/%/% "<<endl;cout<<",%c "" J/% "<<endl;cout<<"%.%/ o o % "<<endl;cout<<"%.%_ |%"<<endl;cout<< " % %(_Y_)% " <<endl;cout<<"| "<<endl;cout<<" / |"

4、;<<endl;cout<<"/)|"<<endl;cout<<"/_|_"<<endl;cout<<"(_) "<<endl;實驗 2教學(xué)班級:學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2014 年 3 月 1 日 實驗地點: ( 機房 )指導(dǎo)教師簽名: _實驗成績: _一、實驗?zāi)康?掌握對一般數(shù)據(jù)的輸入和輸出格式控制方法;2掌握對實型數(shù)據(jù)輸出形式的設(shè)置和小數(shù)位數(shù)的控制方法;3了解數(shù)據(jù)輸入的相關(guān)注意事項。二、實驗任務(wù)1. 鍵盤輸入某臺計算機的編號和該計算機的價

5、格,并輸出這些信息。要求:編號為 11 位數(shù)字構(gòu)成,如;價格含有小數(shù)部分,如元;輸出的編號只是由數(shù)字組成,不應(yīng)該出現(xiàn)小數(shù)點等非數(shù)字符號。2. 有一種加密方法是用原來字母的第 n 個字母代替原來的寧母。例如把 A用其后第 4 個字母 E 來替代?,F(xiàn)在有一密文內(nèi)容為 wigvix ,編程求出它的原文是什么(提示:可根據(jù)上述加密原理,使用若干字符型變量來實現(xiàn))。3. 編程實現(xiàn):在計算機的提示下輸入某學(xué)生的學(xué)號、 英語成績、高等數(shù)學(xué)成績、線性代數(shù)成績,計算得出三門課程平均成績, 并按如下格式輸出顯示。成績單學(xué) 號*科 目成 績-85英 語高等數(shù)學(xué)90線性代數(shù)*平均成績?nèi)?、實驗結(jié)果 (源程序 + 注釋)

6、1.源程序#include <iostream>usingnamespacestd;void main()double a,b;cout<< " 請輸入某臺計算機的編號和該計算機的價格 :" <<endl; cin>>a>>b;(11);cout<< " 該計算機的編號和價格分別為:" <<endl;cout<<a<< " " <<b<<endl;2.源程序#include <iostream>

7、;usingnamespacestd;void main()char c1,c2,c3,c4,c5,c6;cout<<" 請輸入密碼內(nèi)容 :" <<endl;cin>>c1>>c2>>c3>>c4>>c5>>c6;c1=c1-4;c2=c2-4;c3=c3-4;c4=c4-4;c5=c5-4;c6=c6-4;cout<< " 原文是 :" <<endl;cout<<c1<<c2<<c3<<

8、c4<<c5<<c6<<endl;3.源程序#include <iostream>#include <iomanip>usingnamespacestd;void main()floatscore1,score2,score3,average;cout<<" 請輸入三門課程的成績 " <<endl;cin>>score1>>score2>>score3;average=(score1+score2+score3)/3;cout<< "

9、 成績單 " <<endl;cout<< " 學(xué)號 " <<endl;cout<< "*"<<endl;cout<< " 科目 " <<setw(16)<< " 成績 " <<endl;cout<< "-"<<endl;cout<< " 英語 " <<setw(15)<<score1<<e

10、ndl;cout<< " 高等數(shù)學(xué) " <<setw(11)<<score2<<endl;cout<< " 線性代數(shù) " <<setw(12)<<score3<<endl;cout<< "*"<<endl;cout<<fixed;(1);cout<< " 平均成績 " <<setw(12)<<average<<endl;實驗 3教學(xué)班級:

11、學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2014 年 3 月 2 日實驗地點: ( 機房 )指導(dǎo)教師簽名: _實驗成績: _一、實驗?zāi)康?. 掌握“處理某一或某些操作只有在特定條件成立的情況下才會被執(zhí)行”的編程思路和方法;2.掌握簡單分支程序設(shè)計,以及if和 if-else語句的使用方法。二、實驗任務(wù)x( x1)1 已知一函數(shù) y 2x1(1x 10) ,輸入 x 的值,求解并輸出相應(yīng)的 y 值。3x11(x10)2 求一元二次方程 ax2+bx+c=0 的根,其中 a、b、c 為實數(shù),由鍵盤輸入。三、實驗結(jié)果 (源程序 +注釋)1.源程序#include <iostream>usingn

12、amespacestd;void main()double x,y;cout<<" 請輸入 x的值 :" <<endl;cin>>x;if (x<1)y=x;if (x>=1&&x<10)y=2*x-1;if (x>=10)y=3*x-11;cout<< " 輸出相應(yīng)的 y值為 :" <<y<<endl;2.源程序#include <iostream>#include <cmath>usingnamespacestd;v

13、oid main()double a,b,c,delta,x,x1,x2;cout<< " 求一元二次方程 ax2+bx+c=0的根 " <<endl; cout<< " 請輸入 a,b,c 的值 :" <<endl; cin>>a>>b>>c;delta=b*b-4*a*c;if (delta<0)cout<< " 一元二次方程無實根 " <<endl;elseif (delta=0) x=-b/(2*a);cout&l

14、t;< " 一元二次方程 ax2+bx+c=0的根為 a:" <<"x1=x2=" <<x<<endl; if (delta>0) x1=(-b-sqrt(delta)/(2*a); x2=(-b+sqrt(delta)/(2*a);cout<<" 一元二次方程 ax2+bx+c=0的根為 :" <<"x1=" <<x1<<"" <<"x2=" <<x2&l

15、t;<endl;實驗 4教學(xué)班級:學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2014 年 3 月 3 日實驗地點: ( 機房 )指導(dǎo)教師簽名: _實驗成績: _一、實驗?zāi)康?掌握多路分支結(jié)構(gòu)的程序設(shè)計,以及switch 語句的使用方法;2學(xué)習(xí)通過程序調(diào)試來跟蹤程序運行過程,查看程序運行過程中各個變量的取值變化情況。二、實驗任務(wù)1某公司進行產(chǎn)品銷售,既零售也批發(fā),零售的價格與批發(fā)的價格不同,購買產(chǎn)品數(shù)量的多與少其價格也不同。具體標(biāo)準(zhǔn)見下表:批 發(fā) 商零 售 商數(shù)量(個)單位價格(元 / 個)數(shù)量(個)單位價格(元 / 個)50 200101 2018200 以上8204015405012要求編寫一程

16、序,輸入客戶購買產(chǎn)品的數(shù)量,輸出客戶類型(批發(fā)或零售客戶)、產(chǎn)品單價及應(yīng)付的總額。2. 給學(xué)生寫評語,需將學(xué)生的考試成績由百分制轉(zhuǎn)換為5 級制,標(biāo)準(zhǔn)為:等級分?jǐn)?shù)段A95.100分B85.94. 分C75.84. 分D60.74. 分E60.分以下3. 輸入年號 y 和月份 m, 輸出 y 年的 m月有多少天。三、實驗結(jié)果 (源程序 + 注釋)1.源程序#include <iostream> using namespacestd; void main()int x,y;cout<<" 請輸入客戶購買產(chǎn)品的數(shù)量:" <<endl;cin>

17、;>x;y=x/10;switch (y)case 0: case 1:cout<< " 客戶類型為零售商,產(chǎn)品單價為 18元 / 個,應(yīng)付的總額為 :" <<18*x<<endl; break ;case 2:case 3:cout<<" 客戶類型為零售商,產(chǎn)品單價為15元 / 個,應(yīng)付的總額為 :" <<15*x<<endl; break ; case 4:cout<<" 客戶類型為零售商,產(chǎn)品單價為12元 / 個,應(yīng)付的總額為 :" <

18、;<12*x<<endl; break ;if (50<=x&&x<200)cout<< " 客戶類型為批發(fā)商,產(chǎn)品單價為 10元/ 個,應(yīng)付的總額為 :" <<10*x<<endl;if (x>=200)cout<< " 客戶類型為批發(fā)商,產(chǎn)品單價為8元/ 個,應(yīng)付的總額為 :" <<8*x<<endl;2.源程序#include <iostream> using namespacestd; void main()in

19、t a,b;cout<< " 請輸入一學(xué)生的考試成績 :" <<endl; cin>>a;b=a/5;switch (b)case 20: case 19:cout<< " 該學(xué)生的考試成績等級為 A:" <<endl; break ;case 18:case 17:cout<<" 該學(xué)生的考試成績等級為case 16:case 15:cout<<" 該學(xué)生的考試成績等級為case 14:case 13:case 12:cout<<&quo

20、t; 該學(xué)生的考試成績等級為default :cout<<" 該學(xué)生的考試成績等級為B:" <<endl; break ;C:" <<endl; break ;D:" <<endl; break ;E:" <<endl;3.源程序#include <iostream>usingnamespacestd;void main()int y,m;cout<<" 請輸入輸入年號 y和月份 m:" <<endl;cin>>y&g

21、t;>m;switch (m)case 1:case 3:case 5:case 7:case 8:case 10:case 12:cout<<y<<case 4:case 6:case 9:" 年的 " <<m<<" 月有 31天:" <<endl; break ;case 11:cout<<y<<" 年的 " <<m<<" 月有 30天:" <<endl; break ;if (m=2)

22、if (y%4=0&&y%100!=0)|(y%100=0&&y%400=0) cout<<y<< " 年的 " <<m<<" 月有 29天:" <<endl;elsecout<<y<< " 年的 " <<m<<" 月有 28天:" <<endl;實驗 5教學(xué)班級:學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2014 年 4 月日實驗地點:( 機房 )指導(dǎo)教師簽名: _實驗成績

23、: _一、實驗?zāi)康?理解“處理某一或某些操作需要被有條件地重復(fù)執(zhí)行”的編程思路和方法;2掌握循環(huán)結(jié)構(gòu)的程序設(shè)計,以及while 、do-while和 for循環(huán)語句的使用方法。二、實驗任務(wù)111 直到最后一項小于-6。1計算 =13571042編程實現(xiàn)阿基里德算法求解兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。( 提示:設(shè)兩個整數(shù) m、 n( m>=n),用 m除以 n,求得余數(shù) q。若 q 為零, n 即為所求的最大公約數(shù);若 q 不為零,則更新除數(shù)和被除數(shù)( n m,q n)再做除法,直至余數(shù) q 為零止。這時,相應(yīng)的n 即為所求的最大公約數(shù)。而最小大公倍數(shù) =原始 m與 n 值的乘積 / 最

24、大公約數(shù)。)3. 編程實現(xiàn)十進制整數(shù)和二進制整數(shù)之間的轉(zhuǎn)換。三、實驗結(jié)果 (源程序 + 注釋)1.源程序#include<iostream>usingnamespacestd;void main()int i=1;double n=1,j=1,k=0,pi=0;dok=k+j;n=n+2;i=-i;j=i/n; while (j>=|j<=; pi=4*k;cout<< " /4=" <<k<<endl;cout<< " =" <<pi<<endl;2.源程序

25、#include <iostream>usingnamespacestd;void main()int m,n,q,i,j,k;cout<<" 請輸入兩個整數(shù): " <<endl;cin>>m>>n;i=m;j=n;q=i%j;if (q=0)cout<< " 所求的最大公約數(shù)為 :" <<j<<endl;if (q!=0)do i=j;j=q;q=i%j; while (q!=0); k=(m*n/j);cout<< " 所求的最大公約

26、數(shù)為 :" <<j<<endl;cout<<" 所求的最小公倍數(shù)為 :" <<k<<endl;3源程序#include <iostream>usingnamespacestd;void main()int i=10,j=1,m,n=0;cout<< " 請輸入一個二進制整數(shù) :" <<endl;cin>>m;don+=j*(m%i);m/=i;j*=2;while (m!=0);cout << " 轉(zhuǎn)換為十進制整數(shù)是

27、 :" <<n<<endl;實驗 6教學(xué)班級:學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2014 年 4 月 2 日 實驗地點: ( 機房 )指導(dǎo)教師簽名: _實驗成績: _一、實驗?zāi)康?掌握循環(huán)與選擇結(jié)構(gòu)的嵌套的使用方法;2掌握嵌套循環(huán)的使用方法;二、實驗任務(wù)1. 設(shè)計一個程序,求出 n-m 之間 (m>n)的所有素數(shù),要求 : 每行輸出 5 個。2. 鍵盤輸入一行字符,統(tǒng)計字符總個數(shù),以及其中的英文字母個數(shù),如果是數(shù)字,則統(tǒng)計它們所構(gòu)成的數(shù)據(jù)中,奇數(shù)個數(shù)和偶數(shù)個數(shù)分別是多少。提示:可使用以下程序段,連續(xù)輸入若干字符直到輸入'n'時停止。whil

28、e(1) ch=getchar(); if(ch='n')break;。3. 兩個乒乓球隊進行比賽,各出 3人。甲隊為 A、B、 C共 3人,乙隊為 X、Y、Z共3人,并以抽簽方式?jīng)Q定比賽名單。有人向隊員打聽比賽的名單,A說他不和 X比, C說他不和 X、Z比,請給出 3對賽手的名單。4. 用循環(huán)結(jié)構(gòu)語句編程并輸出下圖 , 其行數(shù)有鍵盤給出。例如:鍵盤輸入: 5,則運行結(jié)果如下122333444454444333221三、實驗結(jié)果 (源程序 + 注釋)1.源程序#include<iostream>#include<iomanip>usingnamespa

29、cestd;void main()int m,n,x,y,k=0;cout<<" 請輸入兩個不等的整數(shù) :" <<endl;cin>>n>>m;cout<<" 它們之間的所有素數(shù)為 :" <<endl;for (x=n;x<=m;x+) for (y=2;y<=x-1;y+) if (x%y=0)break ;if (x=y)cout<<" " <<x;k=k+1;if (k%5=0)cout<<"n&qu

30、ot; ;2.源程序#include<iostream>usingnamespacestd;#include<>void main()char ch;inti=0,ch_num=0,odd_num=0,even_num=0;cout<< " 請輸入一行字符 :" <<endl;while (1)ch=getchar();if (ch='n') break ;elsei=i+1;if (ch>='a' &&ch<='z' | ch>= 'A

31、' &&ch<='Z' )ch_num+=1;elseif (ch>='1' &&ch<='9' )if (ch%2=0) even_num+=1;else odd_num+=1;cout<<" 輸入的字符總個數(shù)為: " <<i<<endl;cout<<" 其中英文字符個數(shù)為: " <<ch_num<<endl;cout<<" 奇數(shù)個數(shù)為: " &

32、lt;<odd_num<<endl;cout<<" 偶數(shù)個數(shù)為: " <<even_num<<endl;3.源程序#include <iostream>usingnamespacestd;void main()char i,j,k;for (i= 'X' ;i<= 'Z' ;i+) for (j= 'X' ;j<= 'Z' ;j+)if (i!=j)for (k= 'X' ;k<= 'Z' ;k+

33、) if (i!=k&&j!=k)if (i!= 'X' &&k!='X' &&k!='Z' )cout<< "3 對選手的名單為 :" <<"A-" <<i<<" " <<"B-" <<j<< "" <<"C-" <<k<<endl;4.源程序#include

34、<iostream> #include <iomanip> using namespacestd; void main()int i,j,a;cout<<" 請任意輸入一個整數(shù): " ;cin>>a;for (i=1;i<=a;i+) for (j=1;j<=2*a-1;j+) if (j<=2*a-1-i)if (i!=a) cout<< " " ;else cout<<i;elsecout<<i;cout<<endl;for (i=1;i

35、<=a-1;i+) for (j=1;j<=a-1;j+) if (j<=a-i)cout<<a-i;elsecout<<" " ;cout<<endl;實驗 7教學(xué)班級:學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2014 年 4 月 2 日 實驗地點: ( 機房 )指導(dǎo)教師簽名: _實驗成績: _一、實驗?zāi)康?掌握數(shù)值型一維數(shù)組的使用方法;2掌握對一組同類型的數(shù)據(jù)進行插入、刪除、排序和查找等的常用算法。二、實驗任務(wù)1. 對兩個無序的數(shù)組(其中數(shù)組 a 長度為 n,數(shù)組 b 長度 m),采用選擇法(或起泡法)分別將這兩個數(shù)組轉(zhuǎn)為有

36、序(元素值從小到大有序)。要求: a 和 b數(shù)組長度及其元素均由鍵盤獲取。2. 將以上任務(wù) 1 構(gòu)建的兩個有序的數(shù)組 a 和 b,進行有序合并, 即將這兩個數(shù)組進行合并的過程中其數(shù)據(jù)始終保持有序。(提示:數(shù)據(jù)結(jié)構(gòu):三個一維數(shù)組 a, b, c將 aia 和 bib 比較,誰小就把誰放入 cic ( c 數(shù)組用于存放合并后的數(shù)據(jù)),誰放入了 cic 中誰的下標(biāo)就加 1,同時 ic (c 中當(dāng)前存放數(shù)據(jù)的下標(biāo))加 1,如下圖所示。 )3.計算以上任務(wù)2 中c 數(shù)組元素的平均值,并刪除c 中所有低于平均值的那些元素。三、實驗結(jié)果 (源程序+注釋)1.源程序#include <iostream&

37、gt;usingnamespacestd;void main( void )int i,j,t,n,m,a100,b100;cout<<" 請輸入數(shù)組 a中數(shù)字的個數(shù) :" ;cin>>n;cout<< " 請輸入數(shù)組 a的" <<n<<" 個數(shù) :" <<endl;for (i=0;i<n;i+)cin>>ai;for (i=0;i<n-1;i+)for (j=i+1;j<n;j+)if (ai>aj)t=ai;ai=aj;a

38、j=t;cout<< " 數(shù)組從小到大排列為 :" <<endl;for (j=0;j<n;j+)cout<<aj<<" " ;cout<<endl;cout<< " 請輸入數(shù)組 b中數(shù)字的個數(shù) :" ;cin>>m;cout<< " 請輸入數(shù)組 b的" <<m<<" 個數(shù) :" <<endl;for (i=0;i<m;i+)cin>>bi;

39、for (i=0;i<m-1;i+)for (j=i+1;j<m;j+)if (bi>bj)t=bi;bi=bj;bj=t;cout<< " 數(shù)組 b從小到大排列為 :" <<endl;for (j=0;j<m;j+)cout<<bj<<" " ;cout<<endl;2.源程序#include <iostream>usingnamespacestd;void main( void )int i,j,t,n,m,a100,b100;cout<<&q

40、uot; 請輸入數(shù)組 a中元素的個數(shù) :" ;cin>>n;cout<< " 請輸入數(shù)組 a的" <<n<<" 個元素 :" <<endl;for (i=0;i<n;i+)cin>>ai;for (i=0;i<n-1;i+)for (j=i+1;j<n;j+)if (ai>aj)t=ai;ai=aj;aj=t;cout<< " 數(shù)組 a的元素從小到大排列為 :" <<endl;for (j=0;j<n

41、;j+)cout<<aj<<" " ;cout<<endl;cout<< " 請輸入數(shù)組 b中元素的個數(shù) :" ;cin>>m;cout<< " 請輸入數(shù)組 b的" <<m<<" 個元素 :" <<endl;for (i=0;i<m;i+)cin>>bi;for (i=0;i<m-1;i+)for (j=i+1;j<m;j+)if (bi>bj)t=bi;bi=bj;bj=

42、t;cout<< " 數(shù)組 b的元素從小到大排列為 :" <<endl;for (j=0;j<m;j+)cout<<bj<<" " ;cout<<endl; int c200,ia=0,ib=0,ic=0; for (ia=0;ia<n;ia+)if (bib>aia) cic+=aia;else cic+=bib;if (aia!=bib)ia-;ib+;if (ib<m)for (;ib<m;ib+)cic+=bib;cout<< " 合并

43、后的數(shù)組 c為 :" <<endl;for ( inti=0;i<ic;i+)cout<< " " <<ci;cout<<endl;3.源程序#include <iostream>usingnamespacestd;void main( void )int i,j,t,n,m,a100,b100;cout<<" 請輸入數(shù)組 a中元素的個數(shù) :" ;cin>>n;cout<< " 請輸入數(shù)組 a的" <<n<

44、<" 個元素 :" <<endl;for (i=0;i<n;i+)cin>>ai;for (i=0;i<n-1;i+)for (j=i+1;j<n;j+)if (ai>aj)t=ai;ai=aj;aj=t;cout<< " 數(shù)組 a的元素從小到大排列為 :" <<endl;for (j=0;j<n;j+)cout<<aj<<" " ;cout<<endl;cout<< " 請輸入數(shù)組 b中元素的

45、個數(shù) :" ;cin>>m;cout<< " 請輸入數(shù)組 b的" <<m<<" 個元素 :" <<endl;for (i=0;i<m;i+)cin>>bi;for (i=0;i<m-1;i+)for (j=i+1;j<m;j+)if (bi>bj)t=bi;bi=bj;bj=t;cout<< " 數(shù)組 b的元素從小到大排列為 :" <<endl;for (j=0;j<m;j+)cout<<

46、bj<<" " ;cout<<endl;intc200,ia=0,ib=0,ic=0; for (ia=0;ia<n;ia+) if (bib>aia)cic+=aia; elsecic+=bib;if (aia!=bib) ia-;ib+;if (ib<m)for (;ib<m;ib+)cic+=bib;cout<< " 合并后的數(shù)組 c為 :" <<endl;for ( inti=0;i<ic;i+)cout<< " " <<ci

47、;cout<<endl;floatsum=,ave;for (i=0;i<n+m;i+)sum=sum+ci;ave=sum/(n+m);cout<<" 數(shù)組 c元素的平均值為 :" <<ave<<endl;cout<<" 數(shù)組 c中大于平均值的元素為 :" ;for (i=0;i<n+m;i+)if (ci>ave)cout<<ci<<" " ;實驗 8教學(xué)班級:學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2014 年 5 月 1 日 實驗地點

48、: ( 機房 )指導(dǎo)教師簽名: _實驗成績: _一、實驗?zāi)康?掌握對一組同類型的數(shù)據(jù)進行插入、刪除、排序和查找等的常用算法。二、實驗任務(wù)1. 使用插入排序法將鍵盤輸入的無序數(shù)列按升序排列。思路分析與算法:1) 從第一個元素開始,該元素可以認為已經(jīng)被排序。2) 取出下一個元素,在已經(jīng)排序的元素序列中從后向前掃描。3) 如果該元素(已排序)大于新元素,將該元素移到下一位置。4) 重復(fù)步驟 3,直到找到已排序的元素小于或者等于新元素的位置。5) 將新元素插入到該位置中。6) 重復(fù)步驟 2。2. 選舉猴王問題: N 只猴子圍成一圈,順序編號 1 至 N。從編號為 1 的猴子開始依次報數(shù),報數(shù) m 的猴

49、子就退出圈子,接著再報,報數(shù) m 的猴子再退出圈子,依次繼續(xù)下去,圈子最后所剩的一只猴子為猴王,它原先的編號是幾思路分析與算法:1) 使用一維數(shù)組存放猴子從 1 到 n 的編號,定義參加選舉猴王的最多猴子數(shù)為 40。2) i 為每次循環(huán)時計數(shù)變量, k 為按 1,2,3, m報數(shù)時的計數(shù)變量,t 表示退出的猴子數(shù)。依次將退出的猴子對應(yīng)的數(shù)組元素置 0,直到只剩下一只猴子。3) 找出數(shù)組中不為 0 的 ai ,輸出該數(shù)。三、實驗結(jié)果 (源程序 + 注釋)1.源程序#include <iostream>#include <iomanip>usingnamespacestd;

50、void main()const int N=100; int aN,t,i,j,n;cout<< " 請輸入數(shù)據(jù)的個數(shù) :" ; cin>>n;cout<< " 請輸入有 " <<n<<" 個整數(shù)的無序數(shù)列 :" <<endl;for (i=0;i<n;i+)cin>>ai;if (a0>a1) t=a0;a0=a1;a1=t; for (i=2;i<n;i+) j=0;while (ai>aj&&j<=

51、n)j+;if (j<i) t=ai;for ( intk=i;k>=j;k-)ak=ak-1;aj=t;cout<< " 原數(shù)列按升序排列為 :" <<endl;for (i=0;i<n;i+)cout<<ai<<" " ;cout<<endl;2源程序#include <iostream>usingnamespacestd;void main()const int N=40; int n, m, aN;inti,j,k;cout<< " 請

52、輸入?yún)⒓舆x舉的猴子總數(shù):" ;cin>>n;cout<< " 請輸入報數(shù)數(shù)目 :" ;cin>>m;for (i=0;i<n;i+)ai=i+1;i=0;j=0;k=0;while (k<n-1)if (ai!=0) j+;if (j=m)ai=0;j=0;k+; i+;if (i=n) i=0;i=0;while (ai=0) i+;cout<< " 猴王原先的編號是 " <<ai<<endl;實驗 9教學(xué)班級:學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2013 年 5

53、 月 1 日 實驗地點: ( 機房 )指導(dǎo)教師簽名: _實驗成績: _一、實驗?zāi)康?掌握二維數(shù)值型數(shù)組的使用方法;2. 掌握 string 類字符串的使用方法。二、實驗任務(wù)1. 自動產(chǎn)生 N*N 數(shù)據(jù)( N 取值最大不超過 100)存入 a 數(shù)組,數(shù)據(jù)形成規(guī)律如下圖示(呈 S 形),并取出 a 的下三角形區(qū)域數(shù)據(jù)輸出,輸出形式如下圖所示(呈等腰三角形)。2. 從鍵盤上輸入任意兩個字符串, 比較它們是否相同, 將它們連接成一個新的字符串并輸出,輸出這個新的字符串的有效長度。三、實驗結(jié)果 (源程序 + 注釋)1.源程序#include <iostream>#include <io

54、manip>usingnamespacestd;void main()int a1010,i,j,n,k=0; cout<< " 請輸入一個數(shù)字 n:" ; cin>>n;a00=1;for (i=0;i<n;i+)for (j=0;j<n;j+) if (i%2=0) ai+10=ai0+2*n-1; aij+1=aij+1;if (i%2!=0) ai+10=ai0+1;aij+1=aij-1;for (i=0;i<n;i+)for (j=0;j<n;j+)cout<<setw(6)<<aij

55、;k+;if (k%n=0)cout<<endl;for (i=0;i<n;i+)cout<<setw(3*(n-1-i)<<" " ;for (j=0;j<=i;j+)cout<<setw(6)<<aij;cout<<endl;2.源程序#include <iostream>#include <string>usingnamespacestd;void main() string s1,s2,s;cout<< " 請輸入第一個字符串 :&quo

56、t; <<endl; getline(cin,s1);cout<< " 請輸入第二個字符串 :" <<endl; getline(cin,s2);if (s1=s2)cout<< " 這兩個字符串相同 " <<endl; elsecout<< " 這兩個字符串不同 " <<endl; s=s1+s2;cout<< " 將它們連接成一個新的字符串為 :" <<s<<endl;cout<<

57、 " 這個新的字符串的有效長度為:" <<()<<endl;實驗 10教學(xué)班級:學(xué)生學(xué)號:學(xué)生姓名:實驗日期: 2014 年 5 月 2 日 實驗地點: ( 機房 )指導(dǎo)教師簽名: _實驗成績: _一、實驗?zāi)康?熟練指針變量的使用,了解其編程技巧。二、實驗任務(wù)1. 使用指針法在的一組數(shù)據(jù)中,找出其中最大值所在的位置并輸出。2. 使用指針法對一維數(shù)組 a 中的數(shù)據(jù)按降序排列。三、實驗結(jié)果 (源程序 + 注釋)1.源程序#include <iostream>usingnamespacestd;void main()int a100,i=0,n,j,max,*p; cout<< " 請輸入數(shù)據(jù)的個數(shù): " ;cin>>n;cout<< " 請輸入一組數(shù)據(jù)的個數(shù)為 " <<

溫馨提示

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

評論

0/150

提交評論