西南交大2014-2015各次C++上機實驗報告答案(全)_第1頁
西南交大2014-2015各次C++上機實驗報告答案(全)_第2頁
西南交大2014-2015各次C++上機實驗報告答案(全)_第3頁
西南交大2014-2015各次C++上機實驗報告答案(全)_第4頁
西南交大2014-2015各次C++上機實驗報告答案(全)_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2014-2015各次C+上機實驗報告答案(全)實驗_1_實驗報告一、實驗?zāi)康?熟悉Visual studio 6.0集成開發(fā)環(huán)境;2學(xué)習(xí)新建和打開控制臺應(yīng)用程序的方法;3通過運行示例程序了解程序開發(fā)過程;二、實驗任務(wù)1新建源程序文件,編輯以下程序,編譯,鏈接,得出運行結(jié)果,并保存程序:#include <iostream>using namespace std;void main( )cout<<'a'<<endl;/*輸出語句*/cout<<'141'<<endl; cout<<'

2、;x61'<<endl; 2新建源程序文件,編輯以下程序,編譯,鏈接,運行,輸入36和64,得出運行結(jié)果,并保存程序:#include <iostream>using namespace std;int main()float num1,num2,sum;cout << "Enter first number: "/*輸出語句*/cin >> num1; /*輸入語句*/cout << "Enter second number: "cin >> num2; /*輸入語句*/s

3、um=num1+num2; /*運算語句*/cout << "The sum is " << sum << endl; /*輸出語句*/return 0;三、實驗結(jié)果 1. 2實驗一 實驗報告1、 實驗?zāi)康?1.熟悉C+程序的集成開發(fā)環(huán)境; 2.學(xué)習(xí)新建和打開控制臺應(yīng)用程序的方法; 3.掌握簡單數(shù)據(jù)運算以及輸入與輸出方法。2、 實驗任務(wù) 1.輸入一個攝氏溫度,輸出并顯示轉(zhuǎn)換出的華氏溫度(提示: 攝氏溫度=(華氏溫度32)*5/9); 2.畫出一頭威武雄壯的雄獅。3、 實驗結(jié)果(源程序+注釋) 1.求“攝氏溫度=(華氏溫度32)*5/9”的

4、程序及其運行如下:#include "stdafx.h"int _tmain(int argc, _TCHAR* argv)return 0;#include<iostream>using namespace std;void main()/*主函數(shù)*/double a,b;/*定義變量*/cout<<"請輸入攝氏溫度:"cin>>a;b=5*a/9.0+32.0;/*計算過程*/cout<<"華氏攝氏度:"<<b;system("pause");/*使運

5、行結(jié)果一直顯示*/2. 畫一頭威武雄壯的雄獅的程序及其運算結(jié)果如下:/ 20131054 005.cpp : 定義控制臺應(yīng)用程序的入口點。/#include "stdafx.h"int _tmain(int argc, _TCHAR* argv)return 0;#include<iostream>using namespace std;void main()/*主函數(shù)*/cout<<"20131054"<<endl; cout<<" ,%"<<endl;/*輸入輸出語句*/

6、 cout<<" ,%/%/%"<<endl; cout<<" ,%c“”J/%"<<endl; cout<<" %. %/ o o %"<<endl; cout<<" '%. % _ |%"<<endl; cout<<" '% '%(_Y_)%"<<endl; cout<<" / ;%'-/%' "<

7、;<endl; cout<<" ( / '%'"<<endl; cout<<" .' |"<<endl; cout<<" / |"<<endl; cout<<" / )|"<<endl; cout<<" /_ |_"<<endl; cout<<" (_)"<<endl; /*輸入輸出語句*/ system

8、("pause");/*使運行結(jié)果停頓*/實驗_2_實驗報告一、實驗?zāi)康?掌握對一般數(shù)據(jù)的輸入和輸出格式控制方法;2掌握對實型數(shù)據(jù)輸出形式的設(shè)置和小數(shù)位數(shù)的控制方法;3了解數(shù)據(jù)輸入的相關(guān)注意事項。二、實驗任務(wù)及三、實驗結(jié)果(源程序 + 注釋)如下:1. 鍵盤輸入某臺計算機的編號和該計算機的價格,并輸出這些信息。要求:編號為11位數(shù)字構(gòu)成,如10987654321;價格含有小數(shù)部分,如998.0元;輸出的編號只是由數(shù)字組成,不應(yīng)該出現(xiàn)小數(shù)點等非數(shù)字符號。源程序:#include<iostream>using namespace std;void main()dou

9、ble a,b;/*定義變量*/cout<<"20131054"<<endl;cout<<"請輸入計算機的編號:"cin>>a;cout<<fixed;cout.precision(0);/*確定精度*/cout<<"計算機的編號為:"<<a<<endl;cout<<"請輸入計算機的價格:"cin>>b;cout<<fixed;cout.precision(1);/*確定精度*/cou

10、t<<"計算機的價格為:"<<b;2. 有一種加密方法是用原來字母的第n個字母代替原來的寧母。例如把A用其后第4個字母E來替代。現(xiàn)在有一密文內(nèi)容為wigvix,編程求出它的原文是什么?(提示:可根據(jù)上述加密原理,使用若干字符型變量來實現(xiàn))。源程序:#include<iostream>using namespace std;void main()char a,b,c,d,e,f;/*定義變量*/cout<<"20131054"<<endl;cout<<"請輸入密文: &quo

11、t;cin>>a>>b>>c>>d>>e>>f;/*輸入密文*/a=a-4;b=b-4;c=c-4;d=d-4;e=e-4;f=f-4;/*解密過程*/cout<<"原始密碼為: "<<a<<b<<c<<d<<e<<f<<endl; 3. 編程實現(xiàn):在計算機的提示下輸入某學(xué)生的學(xué)號、英語成績、高等數(shù)學(xué)成績、線性代數(shù)成績,計算得出三門課程平均成績,并按如下格式輸出顯示。 成績單 學(xué) 號 20100002 * 科

12、 目 成 績 - 英 語 85 高等數(shù)學(xué) 90 線性代數(shù) 88.5 * 平均成績 87.8源程序:#include<iostream>#include"iomanip"using namespace std;int main()float a,score1,score2,score3,average;cout<<"20131054"<<endl;cout<<"請輸入三門課程的考試成績:"<<endl;cin>>score1>>score2>>

13、;score3;average=(score1+score2+score3)/3;/*計算平均分*/cout<<"成績單"<<endl;cout<<"學(xué) 號"cin>>setw(6)>>a;cout<<"*"<<endl;cout<<"科目"<<setw(16)<<"成績"<<endl;/*行對齊*/cout<<"-"<<

14、endl;cout<<"英語"<<setw(15)<<score1<<endl;/*行對齊*/cout<<"高等數(shù)學(xué)"<<setw(11)<<score2<<endl;/*行對齊*/cout<<"線性代數(shù)"<<setw(12)<<score3<<endl;/*行對齊*/cout<<"*"<<endl;cout<<fixed;cout.pr

15、ecision(1);/*確定精度*/cout<<"平均成績:"<<setw(11)<<average<<endl;/*行對齊*/實驗_3_實驗報告一、實驗?zāi)康?. 掌握“處理某一或某些操作只有在特定條件成立的情況下才會被執(zhí)行”的編程思路和方法;2. 掌握簡單分支程序設(shè)計,以及if和if-else語句的使用方法。二、實驗任務(wù)1 已知一函數(shù),輸入x的值,求解并輸出相應(yīng)的y值。2 求一元二次方程ax2+bx+c=0的根,其中a、b、c為實數(shù),由鍵盤輸入。三、實驗結(jié)果(源程序 + 注釋)1.源代碼及運行結(jié)果:#include<

16、iostream>using namespace std;void main()double x,y;/定義變量cout<<"20131054"<<endl;while(1)/不斷進(jìn)行運算cout<<"請輸入x的值:"cin>>x;if(x<1)y=x;/x<10elseif(x<10)y=2*x-1;/1x<10elsey=3*x-11;/x10cout<<"y的值為:"<<y<<endl;2. 源代碼及運行結(jié)果:#in

17、clude<iostream>#include"math.h"using namespace std;void main( )float a,b,c,t,del,tw,term1,term2;cout<<"20131054"<<endl;cout<<"請輸入a、b、c的值:"<<endl;cin>>a>>b>>c;if(a=0) if(b=0) cout<< "該方程無根!"<<endl;/此時沒

18、有二次項 else cout<<"該一元二次方程的單根為:"<<endl<<-c/b<<endl;/有單根elsedel=b*b-4*a*c;/求deltw=2*a; /代表被除數(shù)t=abs(del);/取del的絕對值term1=-b/tw;/根的前半部分term2=sqrt(t)/tw;/根的后半部分 if(del<0)/del為負(fù),有復(fù)數(shù)根 cout<<"該一元二次方程的復(fù)數(shù)根(兩個)的實部和虛部分別為:"<< term1<<","<

19、<term2<<endl; else cout<<"該一元二次方程的兩個實數(shù)根分別為:"<<term1+term2<<","<<term1-term2<<endl;實驗_4_實驗報告一、實驗?zāi)康?掌握多路分支結(jié)構(gòu)的程序設(shè)計,以及switch語句的使用方法;2學(xué)習(xí)通過程序調(diào)試來跟蹤程序運行過程,查看程序運行過程中各個變量的取值變化 情況。二、實驗任務(wù)1模擬二人猜拳游戲:剪刀石頭布。要求:(1)給出選項菜單如下*新一局*1.出剪子 2.出石頭 3.出布 * 請輸入選擇的數(shù)字: 根據(jù)

20、兩個用戶輸入給出猜拳“戰(zhàn)況”。2.鍵盤輸入一個數(shù),判定:能不能被3、5和7整除,并如果失敗輸出失敗的具體原因。3. 輸入某年某月某日,判斷這一天是這一年的第幾天。三、實驗結(jié)果(源程序 + 注釋)1. 源程序:#include<iostream>using namespace std;void main()int a,b;/*定義甲乙出拳情況*/cout<<"20131054"<<endl;while(1)/*使游戲可以循環(huán)進(jìn)行*/cout<<"*新一局*"<<endl;cout<<&

21、quot;1.出剪子"<<endl<<"2.出石頭"<<endl<<"3.出布"<<endl;cout<<"*"<<endl;cout<<"請甲出拳:"<<endl;cin>>a;switch(a)case 0: cout<<"游戲已經(jīng)結(jié)束!"<<endl;/*考慮游戲結(jié)束的情況*/ break;case 1: cout<<&quo

22、t;請乙出拳:"<<endl; cin>>b; for(;b!=1&&b!=2&&b!=3;) cout<<"乙出拳無效!"<<endl; cout<<"請乙再次出拳:"<<endl; cin>>b; if(b=1) cout<<"甲乙出拳相同,游戲重新開始!"<<endl; else if(b=2) cout<<"乙贏了!"<<endl; e

23、lse if(b=3) cout<<"甲贏了!"<<endl;break;/*在甲輸入一定的情況下,根據(jù)乙的輸入情況得出游戲結(jié)果*/case 2: cout<<"請乙出拳:"<<endl; cin>>b; for(;b!=1&&b!=2&&b!=3;) cout<<"乙出拳無效!"<<endl; cout<<"請乙再次出拳:"<<endl; cin>>b; if(b

24、=1) cout<<"甲贏了!"<<endl; else if(b=2) cout<<"甲乙出拳相同,游戲重新開始!"<<endl; else if(b=3) cout<<"乙贏了!"<<endl;break;/*在甲輸入一定的情況下,根據(jù)乙的輸入情況得出游戲結(jié)果*/case 3: cout<<"請乙出拳:"<<endl; cin>>b; for(;b!=1&&b!=2&&b!

25、=3;) cout<<"乙出拳無效!"<<endl; cout<<"請乙再次出拳:"<<endl; cin>>b; if(b=1) cout<<"乙贏了!"<<endl; else if(b=2) cout<<"甲贏了!"<<endl; else if(b=3) cout<<"甲乙出拳相同,游戲重新開始!"<<endl;break;/*在甲輸入一定的情況下,根據(jù)乙的

26、輸入情況得出游戲結(jié)果*/default:cout<<"甲出拳無效,請甲再次出拳!"<<endl;/*考慮甲輸入不規(guī)范的情況*/2. 源程序:#include<iostream>using namespace std;void main()int a;cout<<"20131054"<<endl;while(1)/*使程序一直運行,更易于顯示*/cout<<"請輸入一個整數(shù):"<<endl;cin>>a;if (a % 3 = 0)/*此時a

27、能被3整除*/ if(a % 5 = 0 | a % 7 = 0)/*a能被5或7整除*/ if (a % 5 = 0 && a % 7 = 0)/*a能被5和7整除*/ cout<<"a能被3,5,7整除!"<<endl; else if (a % 5 = 0)/*a能被5整除*/ cout<<"a能被3,5整除,但不能被7整除!"<<endl; else cout<<"a能被3,7整除,但不能被5整除!"<<endl; else cout<

28、;<"a能被3整除,但不能被5和7整除!"<<endl; else if (a % 5 = 0 | a % 7 = 0)/*a能被5或7整除*/ if (a % 5 = 0 && a % 7 = 0)/*a能被5和7整除*/ cout<<"a能被5,7整除,但不能被3整除!"<<endl; else if (a % 5 = 0)/*a能被5整除*/ cout<<"a能被5整除,但不能被3和7整除!"<<endl; else cout<<&qu

29、ot;a能被7整除,但不能被3和5整除!"<<endl; elsecout<<"a不能被3,5,7整除!"<<endl; 3.源程序:#include<iostream>using namespace std;void main()int day,month,year,sum,leap; cout<<"20131054"<<endl; cout<<"請輸入某年某月某日:"<<endl; cin>>year>>

30、;month>>day; switch(month) /*先計算某月以前月份的總天數(shù)*/ case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:su

31、m=334;break; default:cout<<"輸入數(shù)據(jù)錯誤!"<<endl;break; sum=sum+day; /*再加上某天的天數(shù)*/ if(year%400=0|(year%4=0&&year%100!=0) /*判斷year年是不是閏年*/ leap=1; else leap=0; if(leap=1&&month>2) /*如果是閏年且月份大于等于2,總天數(shù)應(yīng)該加一天*/ sum+; cout<<"這是"<<year<<"年的

32、第"<<sum<<"天!"<<endl;實驗_5_實驗報告一、實驗?zāi)康?理解“處理某一或某些操作需要被有條件地重復(fù)執(zhí)行”的編程思路和方法;2掌握循環(huán)結(jié)構(gòu)的程序設(shè)計,以及while、do-while和for循環(huán)語句的使用方法。二、實驗任務(wù)1一只猴子摘了N個桃子第一天吃了一半又多吃了一個,第二天又吃了余下的一半又多吃了一個,到第十天的時候發(fā)現(xiàn)還有一個,求N的值。2將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。3. 編程實現(xiàn)十進(jìn)制整數(shù)和八進(jìn)制整數(shù)之間的轉(zhuǎn)換(即將10進(jìn)制數(shù)轉(zhuǎn)換為8進(jìn)制數(shù),或?qū)?進(jìn)制數(shù)轉(zhuǎn)換為10進(jìn)制

33、數(shù))。( 提示:在程序中計算xy,可采用教材p233的pow(x,y),以及文件包含命令#include <cmath>)三、實驗結(jié)果(源程序 + 注釋)1.源程序:#include<iostream>using namespace std;void main()int total = 1, i = 10,day = 10;/*賦初值*/cout<<"20131054"<<endl; for(i = 10;i > 0;i-)cout<<"第"<<day<<"

34、;天有"<<total<<"顆桃子!"<<endl; total = (total + 1) * 2;/*通項公式*/ day-;2.源程序:#include<iostream>using namespace std;void main() int num,i; cout<<"20131054"<<endl; while(1) cout<<"請輸入一個要分解質(zhì)因數(shù)的正整數(shù):"<<endl; cin>>num; cout

35、<<num<<"=" i=2; while(num!=i)/*如果倒數(shù)兩個質(zhì)因數(shù)相同,能保證最后一個輸出因數(shù)不為"1"*/ if(num%i=0)/*因式分解:從2到num檢查,看看是不是所求質(zhì)因數(shù)*/ cout<<i<<"*" num/=i; else i+; cout<<num<<endl;3. 源程序:十進(jìn)制轉(zhuǎn)換為八進(jìn)制#include <iostream>#include <cmath>using namespace std;voi

36、d main( ) cout<<"20131054"<<endl;while(1)/*保證可以進(jìn)行多次運算*/int m=0,x=0,n=1;/*每次都要賦初值,防止上一個m對下一個運算起干擾作用*/cout<<"請輸入一個十進(jìn)制整數(shù):"<<endl;cin>>x;while(x>0) m+=x%8*n;/*將所要求的八進(jìn)制整數(shù)顯示出來*/ x=x/8;/*將十進(jìn)制整數(shù)除8取余*/ n=n*10;cout<<"則對應(yīng)的八進(jìn)制整數(shù)為:"<<m<

37、;<endl;八進(jìn)制轉(zhuǎn)換為十進(jìn)制#include<iostream>#include<cmath>using namespace std;void main( ) cout<<"20131054"<<endl;while(1)int i=0,m=0,x=0,n=1;/*賦初值*/cout<<"請輸入一個八進(jìn)制整數(shù):"cin>>x;while(x>0)/*控制位數(shù)*/ m=m+(x%10)*pow(8.0,i);/*主要計算公式*/ x=x/10; i=i+1;/*計數(shù)*/

38、cout<<"則對應(yīng)的十進(jìn)制整數(shù)為:"<<m<<endl;實驗_6_實驗報告一、實驗?zāi)康?掌握循環(huán)與選擇結(jié)構(gòu)的嵌套的使用方法;2掌握嵌套循環(huán)的使用方法。二、實驗任務(wù)1.計算多項式前n項的和。截止到最后一項的值與1的差小于002。2求1-1000中能被3整除,且不能被7整除,且至少有一位數(shù)是5的整數(shù)。3.用循環(huán)結(jié)構(gòu)語句編程并輸出下圖,其行數(shù)和每行的數(shù)據(jù)個數(shù)由鍵盤給出。例如:鍵盤輸入:5和8,則運行結(jié)果如下三、實驗結(jié)果(源程序 + 注釋)1.源程序:全部顯示:#include<iostream>using namespace st

39、d;void main()cout<<"20131054"<<endl;double s,sum=0,n=1;/*定義變量,賦初值*/do s=n*(n+2)/(n+1)*(n+3); sum=sum+s; n=n+1;/*n逐一增加*/ cout<<sum<<endl; /*每次都輸出sum*/ while(s<0.98); /*循環(huán)結(jié)束條件*/只顯示最后結(jié)果:(與前面的區(qū)別是:語句“cout<<sum<<endl;”是否在循環(huán)體內(nèi))#include<iostream>using n

40、amespace std;void main()double s,sum=0,n=1;/*定義變量,賦初值* / do s=n*(n+2)/(n+1)*(n+3);sum=sum+s; n=n+1; /*n逐一增加*/ while(s<0.98); /*循環(huán)結(jié)束條件*/ cout<<sum<<endl; /*最后一次輸出sum*/ 2. 源程序:#include<iostream>#include"iomanip"using namespace std;void main()cout<<"20131054&qu

41、ot;<<endl;int i=15,j=0;/*i的初值為15*/for(;i<1001;i+)if(i%3=0&&i%7!=0&&(i%10=5|i/10=5|i/100=5)/*條件設(shè)定*/cout<<setw(3)<<i<<" "/*右對齊且間隔輸出數(shù)字*/ if(+j>4) /*a按5個一行輸出數(shù)字*/ j=0;/*每循環(huán)一次將j置零*/ cout<<endl;cout<<endl;/*最后一行換行*/3.源程序:#include<iostre

42、am>using namespace std;void main()cout<<"20131054"<<endl;while(1)/*可以循環(huán)輸入輸出*/int i , j , k,m = 0, n = 0 ;/*定義變量,賦初值*/cout<<"請輸入圖形的行數(shù)和每行的數(shù)據(jù)個數(shù):"<<endl;cin>>m>>n;for(i=-m;i<=m;i+)/*輸出(2m+1)行數(shù)字*/ for(k=0;k<(m-abs(i)+1);k+)/*(m-abs(i)+1)是i行

43、首的空格數(shù)*/ cout<<" "/*輸出空格*/for(j=0;j<n;j+)/*每行輸出n個數(shù)字或"*"*/ if(i=0) cout<<"*"/*0行輸出n個"*"*/ else cout<<m-abs(i)+1;/*(m-abs(i)+1)也是i行對應(yīng)的數(shù)字*/cout<<endl;/*每輸出一行就換行*/實驗_7_實驗報告一、實驗?zāi)康?掌握數(shù)值型一維數(shù)組的使用方法; 2掌握對一組同類型的數(shù)據(jù)進(jìn)行插入、刪除、排序和查找等常用算法。二、實驗任務(wù)1. 對兩個

44、無序的數(shù)組(其中數(shù)組a長度為n,數(shù)組b長度m),采用選擇法(或起泡法)分別將這兩個數(shù)組轉(zhuǎn)為有序(元素值從小到大有序)。要求:a和b數(shù)組長度及其元素均由鍵盤獲取。2. 將以上任務(wù)1構(gòu)建的兩個有序的數(shù)組a和b,進(jìn)行有序合并,即在將這兩個數(shù)組進(jìn)行合并的過程中使其數(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.源程序(起

45、泡法):#include<iostream>using namespace std;int main()cout<<"20131054"<<endl;while(1)/*不斷輸入*/int const N=20;int i,j,t,m,n,aN,bN;/*定義變量*/cout<<"請分別輸入n和m的數(shù)值:"<<endl;cin>>n>>m;cout<<"請輸入"<<n<<"個數(shù)"<<e

46、ndl;for(i=0;i<=n-1;i+)cin>>ai;/*輸入數(shù)組a元素*/cout<<"請輸入"<<m<<"個數(shù)"<<endl;for(i=0;i<=m-1;i+)cin>>bi;/*輸入數(shù)組b元素*/for(i=0; i<n-1; i+)for(j=0; j<n-i-1; j+) if(aj>aj+1) t=aj; aj=aj+1; aj+1=t; /*交換變量順序*/for(i=0; i<m-1; i+)for(j=0; j<m-

47、i-1; j+) if(bj>bj+1) t=bj; bj=bj+1; bj+1=t; /*使數(shù)據(jù)沉底*/cout<<"數(shù)組a排序后的結(jié)果為:"<<endl;for(i=0;i<=n-1;i+)cout<<ai<<" "cout<<endl;/*輸出數(shù)組a排序后的結(jié)果*/cout<<"數(shù)組b排序后的結(jié)果為:"<<endl;for(i=0;i<=m-1;i+)cout<<bi<<" "/*輸出

48、數(shù)組b排序后的結(jié)果*/cout<<endl<<endl;源程序(選擇法):#include<iostream>using namespace std;int main()cout<<"20131054"<<endl;while(1)/*不斷輸入*/int const N=20;int i,j,t,m,n,aN,bN; /*定義變量*/cout<<"請輸入分別n和m的數(shù)值:"<<endl;cin>>n>>m;cout<<"請輸入

49、"<<n<<"個數(shù)"<<endl;for(i=0;i<=n-1;i+)cin>>ai;cout<<"請輸入"<<m<<"個數(shù)"<<endl;for(i=0;i<=m-1;i+)cin>>bi;for(i=0;i<=n-2;i+)for(j=i+1;j<=n-1;j+) if(aj<ai)/*循環(huán)條件*/t=ai;ai=aj;aj=t; /*交換變量順序*/for(i=0;i<=m-2

50、;i+)for(j=i+1;j<=m-1;j+)/*循環(huán)條件*/if(bj<bi)t=bi;bi=bj;bj=t; /*交換變量順序*/cout<<"數(shù)組a排序后為:"<<endl;for(i=0;i<=n-1;i+)cout<<ai<<" "cout<<endl;cout<<"數(shù)組b排序后為:"<<endl;for(i=0;i<=m-1;i+)cout<<bi<<" "cout<

51、;<endl<<endl;2. 源程序:#include<iostream>using namespace std;int main()cout<<"20131054"<<endl;while(1)/*不斷輸入*/int const N=20;int i,j,t,m,n,aN,bN,cN;/*定義變量*/int ia=0,ic=0,ib=0;/*為變量賦初值*/cout<<"請分別輸入n和m的數(shù)值:"<<endl;cin>>n>>m;cout<&l

52、t;"請輸入"<<n<<"個數(shù)"<<endl;for(i=0;i<=n-1;i+) cin>>ai;cout<<"請輸入"<<m<<"個數(shù)"<<endl;for(i=0;i<=m-1;i+) cin>>bi;for(i=0;i<=n-2;i+) for(j=i+1;j<=n-1;j+) if(aj<ai) t=ai;ai=aj;aj=t;/*選擇法排序*/for(i=0;i<

53、;=m-2;i+) for(j=i+1;j<=m-1;j+) if(bj<bi) t=bi;bi=bj;bj=t;/*選擇法排序*/while(ia<=n-1&&ib<=m-1) if(aia<=bib) cic=aia;ia=ia+1;ic=ic+1; else cic=bib;ib=ib+1;ic=ic+1;if(ia=n) for(i=ib;i<=m-1;i+) cic=bi;ic=ic+1;if(ib=m) for(i=ia;i<=n-1;i+) cic=ai;ic=ic+1;/*合并數(shù)組*/cout<<endl;c

54、out<<"兩數(shù)組合并后為:"<<endl;for(i=0;i<=m+n-1;i+) cout<<ci<<" "/*輸出結(jié)果*/3. 源程序:#include "stdafx.h"#include<iostream>using namespace std;int main()cout<<"20131054"<<endl;while(1)/*不斷輸入*/int const N=20;int i,j,m,n,aN,bN,cN,dN

55、,t;float avg,sum=0;int ia=0,ic=0,ib=0;/*定義變量并賦初值*/cout<<"請分別輸入n和m的數(shù)值:"<<endl;cin>>n>>m;cout<<"請輸入"<<n<<"個數(shù)"<<endl;for(i=0;i<=n-1;i+) cin>>ai;cout<<"請輸入"<<m<<"個數(shù)"<<endl;f

56、or(i=0;i<=m-1;i+) cin>>bi;for(i=0;i<=n-2;i+) for(j=i+1;j<=n-1;j+) if(aj<ai) t=ai;ai=aj;aj=t;/*選擇排序法*/for(i=0;i<=m-2;i+) for(j=i+1;j<=m-1;j+) if(bj<bi) t=bi;bi=bj;bj=t;/*選擇排序法*/while(ia<=n-1&&ib<=m-1) if(aia<=bib) cic=aia;ia=ia+1;ic=ic+1; else cic=bib;ib=ib

57、+1;ic=ic+1;if(ia=n) for(i=ib;i<=m-1;i+) cic=bi;ic=ic+1;if(ib=m) for(i=ia;i<=n-1;i+) cic=ai;ic=ic+1;/*合并數(shù)組*/for(i=0;i<=m+n-1;i+) sum=sum+ci; avg=sum/(m+n);/*計算平均值*/cout<<"c組平均數(shù)為:"<<avg<<endl;for(i=0,j=0;i<=m+n-1;i+) if(ci>avg) dj=ci;j+;/*數(shù)據(jù)歸類*/cout<<&q

58、uot;c組刪除低于平均數(shù)的數(shù)值后為:"<<endl;for(i=0;i<j;i+) cout<<di<<" "/*輸出結(jié)果*/cout<<endl<<endl;實驗_8_實驗報告一、實驗?zāi)康?掌握對一組同類型的數(shù)據(jù)進(jìn)行插入、刪除、排序和查找等的常用算法。二、實驗任務(wù)1.自動產(chǎn)生N*N數(shù)據(jù)(N取值最大不超過100)存入a數(shù)組,數(shù)據(jù)形成規(guī)律如下圖示(呈S形),并取出a的下三角形區(qū)域數(shù)據(jù)輸出,輸出形式如下圖所示(呈等腰三角形)。(選擇)2. 使用插入排序法將鍵盤輸入的無序數(shù)列按升序排列。思路分析與算法:

59、1) 從第一個元素開始,該元素可以認(rèn)為已經(jīng)被排序。2) 取出下一個元素,在已經(jīng)排序的元素序列中從后向前掃描。3) 如果該元素(已排序)大于新元素,將該元素移到下一位置。4) 重復(fù)步驟3,直到找到已排序的元素小于或者等于新元素的位置。5) 將新元素插入到該位置中。6) 重復(fù)步驟2。三、實驗結(jié)果(源程序 + 注釋)1.源程序:#include<iostream>#include<cstdlib>#include<ctime>#include<iomanip>/添加所需系統(tǒng)函數(shù)using namespace std;void main()const i

60、nt M=100;int aMM,N;/定義變量cout<<"20131054"<<endl;cout<<"please enter n:"cin>>N;/輸入N值for(int i=0;i<N;i+)for(int j=0;j<N;j+)aij=N*i+j+1;for(int i=0;i<N;i+) for(int j=0;j<N;j+) if(i+1)%2!=0)/判斷條件 cout<<setw(5)<<aij; else cout<<setw

61、(5)<<aiN-1-j; cout<<endl; for(int i=0;i<N;i+)for(int j=0;j<=i;j+)if(i+1)%2!=0)/判斷條件if(j=0) cout<<setw(N-i)*2)<<aij;elsecout<<setw(4)<<aij;elseif(j=0) cout<<setw(N-i)*2)<<aiN-1-j;elsecout<<setw(4)<<aiN-1-j;cout<<endl;2.源程序:#inclu

62、de<iostream>#include"iomanip"using namespace std;void main()int a10,i,j,b10;/定義變量cout<<"20131054"<<endl;cout<<"請依次輸入數(shù)列的值:"for(i=0;i<10;i+)cin>>ai;b0=a0;/初始化數(shù)據(jù)for(i=1;i<10;i+)for(j=i-1;j>=0;j-)if(ai<bj)bj+1=bj;bj=ai;/用選擇法的思想排列數(shù)據(jù)e

63、lse if(ai>bj) bj+1=ai;break;for(j=0;j<10;j+)cout<<setw(5)<<bj;/輸出結(jié)果 實驗_9_實驗報告一、實驗?zāi)康?掌握二維數(shù)值型數(shù)組的使用方法;2. 掌握string類字符串的使用方法。二、實驗任務(wù)1. 輸入一個字符串到一個字符數(shù)組s(最大長度100),將該字符數(shù)組置逆,并輸出置逆后的字符數(shù)組。2.從鍵盤上輸入任意兩個字符串,比較它們是否相同,將它們連接成一個新的字符串并輸出,輸出這個新的字符串的有效長度。三、實驗結(jié)果(源程序 + 注釋)1.源程序:#include<iostream>using namespace std;int main()int num,i; char t,p100; cout<<"20131054"<<endl; cout<<"Input the previous p:"<<endl; gets(p);/獲得字符串 cout<<"Input the new string:"<<endl; cin&g

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論