大學c++上機實習試題_第1頁
大學c++上機實習試題_第2頁
大學c++上機實習試題_第3頁
大學c++上機實習試題_第4頁
大學c++上機實習試題_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

計算機程序設計根底〔C++〕實驗報告軟件學院二O一O年三月實驗__1__實驗報告教學班級:32學生學號:學生姓名:實驗日期:2023.03.25實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.熟悉Visualstudio6.0集成開發環境;2.學習新建和翻開控制臺應用程序的方法;3.通過運行例如程序了解程序開發過程;二、實驗任務1.輸出下面圖形:2.輸入一攝氏溫度,輸出顯示所轉換的華氏溫度。〔提示:攝氏溫度=(華氏溫度-32)×5/9〕三、實驗結果〔源程序+注釋〕程序一#include<iostream>usingnamespacestd;voidmain(){cout<<"*"<<endl;//輸出*cout<<"****"<<endl;//輸出****cout<<"****"<<endl;//輸出****cout<<"*"<<endl;}//輸出*程序二#include<iostream>usingnamespacestd;voidmain(){doublea,b;//定義兩個double型變量a,bcout<<"請輸入攝氏溫度...."<<endl;//輸出"請輸入攝氏溫度...."cin>>a;//輸入ab=a*9/5.0+32;//計算a*9/5.0+32并賦值給bcout<<"華氏溫度為"<<b<<endl;}//輸出"華氏溫度為"和b的值實驗__2__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.04.1實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.掌握對一般數據的輸入和輸出格式控制方法;2.掌握對實型數據輸出形式的設置和小數位數的控制方法;3.了解數據輸入的相關考前須知。二、實驗任務998.00元,注意此處計算機的編號作為一個整數而言超出了int所定義的變量的存儲范圍,因此只能用double型變量來存儲,但輸出時要求看見的是整數形式的編號〕2.輸入三個同學的學號,計算機和英語課程的考試成績,并輸出這些信息。要求每個同學的三個信息輸出在同一行上,三行輸出信息要各列對齊。三、實驗結果〔源程序+注釋〕程序一#include<iostream>usingnamespacestd;voidmain(){doublea,b;//定義變量a,bcout<<"請輸入計算機編號和該計算機價格:"<<endl;//輸出提示cin>>a>>b;//輸入a,bcout<<fixed;//控制格式cout.precision(0);//保存0位小數cout<<"計算機編號為:"<<a<<endl;//輸出計算機編號cout.precision(2);//保存兩位小數cout<<"計算機的價格為:"<<b<<endl;//輸出計算機價格}程序二#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){doublea1,a2,a3,b1,b2,b3,c1,c2,c3;//定義變量cout<<"請輸入甲的學號,計算機成績,英語成績:"<<endl;//輸出提示cin>>a1>>a2>>a3;//輸入變量的值cout<<"請輸入乙的學號,計算機成績,英語成績:"<<endl;//輸出提示cin>>b1>>b2>>b3;//輸入變量的值cout<<"請輸入丙的學號,計算機成績,英語成績:"<<endl;//輸出提示cin>>c1>>c2>>c3;//輸入變量的值cout<<fixed;//輸出格式控制cout.precision(0);//保存2位小數cout<<setw(6)<<"學號"<<setw(15)<<"計算機成績"<<setw(15)<<"英語成績"<<endl;//輸出信息cout<<a1<<setw(10)<<a2<<setw(15)<<a3<<endl;//輸出甲的學號,計算機成績,英語成績cout<<b1<<setw(10)<<b2<<setw(15)<<b3<<endl;//輸出乙的學號,計算機成績,英語成績cout<<c1<<setw(10)<<c2<<setw(15)<<c3<<endl;//輸出丙的學號,計算機成績,英語成績}實驗__3__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.04.08實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的掌握“處理某一或某些操作只有在特定條件成立的情況下才會被執行〞的編程思路

和方法;掌握“一路分支選擇結構〞算法的實現語句,if語句的使用方法;掌握“二路分支選擇結構〞算法的實現語句,if-else語句的使用方法;二、實驗任務1.有一個函數,輸入x的值,輸出相應的函數值。〔提示:x取值分大于零和小于等于0的兩段,對輸入的x值,在計算前應判斷范圍,采用不同的計算公式。〕2.一函數,輸入x的值,求解并輸出相應的y值。〔提示:該題根據x的取值范圍采用不同公式來計算y的值。顯然采用if選擇結構可實現該程序。〕三、實驗結果〔源程序+注釋〕程序一#include<iostream>usingnamespacestd;voidmain(){doublex;cout<<"請輸入x的值:"<<endl;cin>>x;if(x>0)x=x+1;elsex=x*x;cout<<x<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){doublex;cin>>x;if(x<1)x=x;elseif(x>=1&&x<10)x=2*x-1;elseif(x>=10)x=3*x-11;cout<<x<<endl;}實驗__4__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.04.15實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.掌握“多路分支選擇結構〞算法的實現語句,switch語句的使用方法;2.學習通過程序調試來跟蹤程序運行過程,查看程序運行過程中各個變量的取值變化情況。二、實驗任務1.實現一個簡單的菜單程序,運行時顯示 Menu: A〔dd〕 D〔elete〕 S〔ort〕 Q〔uit〕 Selectone:要求用戶提供相應的輸入,并在用戶輸入A,D,S時分別提示“數據已經增加、刪除、排序〞,輸入為Q時程序結束。〔提示:該程序要求用戶輸入特定的A,D,S,Q字符顯示相應信息,所以適合采用switch結構。〕2.某公司進行產品銷售,既零售也批發,零售的價格與批發的價格不同,購置產品數量的多與少其價格也不同。具體標準見下表:批發商零售商數量〔個〕單位價格〔元/個〕數量〔個〕單位價格〔元/個〕50~200101~2018200以上820~401540~5012三、實驗結果〔源程序+注釋〕程序一#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){charx;cout<<"Menu:"<<endl;cout<<setw(8)<<"A(dd)"<<endl;cout<<setw(11)<<"D(elete)"<<endl;cout<<setw(9)<<"S(ort)"<<endl;cout<<setw(9)<<"Q(uit)"<<endl;cout<<setw(14)<<"Selectone:"<<endl;for(;x!='q';){cin>>x;switch(x){case'A':case'a':cout<<"數據已增加"<<endl;break;case'D':case'd': cout<<"數據已刪除"<<endl;break;case'S':case's': cout<<"數據已排序"<<endl;break;case'Q':case'q': break;default: cout<<"輸入錯誤!!"<<endl;break;}}}程序二#include<iostream>usingnamespacestd;voidmain(){inta;cout<<"請輸入購置產品個數:"<<endl;cin>>a;if(a>=1&&a<=20){a=18*a;cout<<"零售客戶"<<"產品單價18"<<"總金額為"<<a<<endl;}elseif(a>20&&a<=40){a=15*a;cout<<"零售客戶"<<"產品單價15"<<"總金額為"<<a<<endl;}elseif(a>40&&a<=50){a=12*a;cout<<"零售客戶"<<"產品單價12"<<"總金額為"<<a<<endl;}elseif(a>50&&a<=200){a=10*a;cout<<"批發客戶"<<"產品單價10"<<"總金額為"<<a<<endl;}elseif(a>200){a=8*a;cout<<"批發客戶"<<"產品單價8"<<"總金額為"<<a<<endl;}elsecout<<"輸入錯誤!!~"<<endl;}實驗__5__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.04.22實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.掌握“處理某一或某些操作需要被有條件地重復執行〞的編程思路和方法;2.掌握“當型型循環結構〞算法的實現語句之一while循環語句的使用方法;3.掌握“直到型循環結構〞算法的實現語句do-while循環語句的使用方法;4.掌握“當型型循環結構〞算法的實現語句之一for循環語句的使用方法。二、實驗任務1.計算1-2+3-4+…+99-100。2.輸入一個整數,將各位數字反轉后輸出。三、實驗結果〔源程序+注釋〕程序一#include<iostream>usingnamespacestd;voidmain(){inti,a,sum;for(i=1,a=1,sum=0;a<=100;i=-i,a++){sum=sum+i*a;}cout<<"1-2+3-4+.....+99-100="<<sum<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){inta,b,s=0;cin>>a;for(;a!=0;a=(a-b)/10){b=a%10,s=s*10+b;}cout<<s<<endl;}實驗__6__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.04.29實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.掌握循環與選擇結構的嵌套的使用方法;2.掌握嵌套循環的使用方法;3.練習continue和break語句的使用方法。二、實驗任務1.求兩個整數的最大公約數和最小公倍數。2.用循環結構語句編程并輸出下列圖:************三、實驗結果〔源程序+注釋〕程序一#include<iostream>usingnamespacestd;voidmain(){inta,b,c,d,e;cout<<"請輸入數字a:"<<endl;cin>>a;cout<<"請輸入數字b:"<<endl;cin>>b;d=a,e=b;for(;a%b!=0;){c=a%b,a=b,b=c;}a=d*e/b;cout<<"兩數的最大公約數為:"<<b<<endl;cout<<"兩數的最小公倍數為:"<<a<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){inti,j;for(i=1;i<=4;i++,cout<<endl){for(j=1;j<=4-i;j++)cout<<"";for(j=1;j<=2*i-1;j++){if(j==1||j==2*i-1)cout<<"*";elsecout<<"";}}for(;i>=5&&i<=7;i++,cout<<endl){for(j=1;j<=i-4;j++)cout<<"";for(j=1;j<=15-2*i;j++){if(j==1||j==15-2*i)cout<<"*";elsecout<<"";}}}實驗__7__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.05.06實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.掌握對一組同類型的數據進行插入、刪除、排序和查找等的常用算法;2.掌握數值型一維數組的使用方法;二、實驗任務1.輸入n個數,找出所有大于n個數的平均值的那些數及最小數。2.設有有序〔值從小到大〕的兩組數據,將這兩組數據有序合并〔合并過程數據始終保持有序〕。〔提示:兩組原始數據用一維數組a,b表示,合并后的數據用一維數組c表示,ia,ib分別代表當前待放入到數組c中去的數組a,b的下標,ic指向數組c中當前存放數據的下標,如下列圖所示。〕三、實驗結果〔源程序+注釋〕程序一#include<iostream>usingnamespacestd;voidmain(){intn,i,a;floatnum[50],sum=0.0,ave;cout<<"請輸入數據的個數:"<<endl;cin>>n;for(i=0;i<n;i++){cout<<"請輸入第"<<i+1<<"個數:"<<endl;cin>>num[i];}for(i=0;i<n;i++)sum=sum+num[i];ave=sum/n;for(i=0;i<n;i++)if(num[i]>ave)cout<<"高于平均值的數據有:"<<num[i]<<endl;a=num[0];for(i=1;i<n;i++){if(a>=num[i])a=num[i];}cout<<"其中最小的數為:"<<a<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){intd,e,f,g,h,i,j,k;cout<<"請輸入第一組數的個數:"<<endl;cin>>d;cout<<"請輸入第二組數的個數:"<<endl;cin>>e;f=d+e;floata[50],b[50],c[100];for(g=0;g<=d-1;g++){cout<<"輸入第一組第"<<g+1<<"個數:";cin>>a[g];}for(h=0;h<=e-1;h++){cout<<"輸入第二組第"<<h+1<<"個數:";cin>>b[h];}a[d]=b[e-1];b[e]=a[d-1];for(i=0,j=0,k=0;k<=f-1;k++)if(a[i]<b[j]){c[k]=a[i];if(i<=d)i++;}else{c[k]=b[j];if(j<=e)j++;}for(i=0;i<=f-1;i++)cout<<c[i]<<"";cout<<endl;}實驗__8__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.05.13實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.掌握對一組同類型的數據進行插入、刪除、排序和查找等的常用算法;2.掌握二維數值型數組的使用方法;二、實驗任務1.輸出以下楊輝三角形。111121133114641151010511615201561172135352171182856705628811936841261268436912.有一個34的矩陣,要求編程序找出每一行中值最大的那個元素并與該行第1列的元素交換。三、實驗結果〔源程序+注釋〕程序一#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inta[20][40];inti,j;for(i=0;i<=11;i++){a[i][11-i]=1;a[i][i+11]=1;}for(i=2;i<=11;i++)for(j=13-i;j<=i+9;j=j+2){a[i][j]=a[i-1][j-1]+a[i-1][j+1];}for(i=0;i<=11;i++,cout<<endl){for(j=0;j<=10-i+2*(11-i);j++)cout<<"";for(j=11-i;j<=i+11;j=j+2){cout<<setw(4)<<a[i][j];cout<<"";}}}程序二#include<iostream>usingnamespacestd;voidmain(){inta[3][4],i,j,b,c;cout<<"輸入一個3*4的矩陣:"<<endl;for(i=0;i<=2;i++)for(j=0;j<=3;j++)cin>>a[i][j];for(i=0;i<=2;i++){for(j=0;j<=2;j++){if(a[i][j]<a[i][j+1])b=j+1;}c=a[i][0],a[i][0]=a[i][b],a[i][b]=c;}cout<<"轉換后的矩陣為:"<<endl;for(i=0;i<=2;i++,cout<<endl)for(j=0;j<=3;j++)cout<<a[i][j]<<"";}實驗__9__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.05.20實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.熟練指針變量的使用,了解其編程技巧;2.熟練指針變量做函數參數,了解其傳遞過程;3.熟練指向數組元素的指針,了解指針引用數組元素的編程技巧。二、實驗任務1.使用指針法在的一組數據中,找出其中最大值所在的位置并輸出。2.使用指針法對一維數組a中的數據按降序排列。三、實驗結果〔源程序+注釋〕程序一#include<iostream>usingnamespacestd;voidmain(){inta[50],n,i,j,*p,*k;cout<<"輸入數據的個數:"<<endl;cin>>n;cout<<"輸入數據:"<<endl;for(i=0;i<=n-1;i++)cin>>a[i];for(p=a,j=*p,k=p;p<a+n;p++){if(j<*(p+1))j=*(p+1),k=p+1;}cout<<"此數據中最大的數為:"<<j<<endl;cout<<"在此數據中的第"<<k-a+1<<"位."<<endl;}程序二#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inta[50],n,i,m,*p,*q;cout<<"輸入數據的個數:"<<endl;cin>>n;cout<<"輸入數據:"<<endl;for(i=0;i<n;i++)cin>>a[i];for(p=a;p<a+n-1;p++)for(q=p;q<a+n-1;q++)if(*p<*(q+1)){m=*p,*p=*(q+1),*(q+1)=m;}cout<<"降序排列后的數據為:";for(p=a;p<a+n;p++)cout<<setw(4)<<*p;cout<<endl;}實驗__10__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.05.27實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.了解存放常用的系統函數的頭文件;2.掌握常用系統函數的功能和使用方法;3.掌握返回值的概念和運用。二、實驗任務1.接受用戶輸入的數值,計算該數的絕對值和該絕對值以10為底的對數值,并輸出計算結果。〔提示:使用內置的絕對值函數和對數函數。〕2.編寫兩個子函數,分別求兩個整數的最大公約數和最小公倍數,并編寫主函數調用這兩個子函數,輸出結果,兩個整數由鍵盤輸入。三、實驗結果〔源程序+注釋〕程序一#include<iostream>#include<cmath>usingnamespacestd;voidmain(){doublea,b,c;cout<<"請輸入一個數:"<<endl;cin>>a;b=fabs(a),c=log10(b);cout<<a<<"的的絕對值為:"<<b<<endl;cout<<"該絕對值以10為底的對數值為:"<<c<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){inta,b,c,d;cout<<"請輸入兩個數:"<<endl;cin>>a>>b;intgongbei(int,int);intgongyue(int,int);c=gongyue(a,b);d=gongbei(a,b);cout<<a<<"和"<<b<<"的最大公約數為:"<<c<<endl;cout<<a<<"和"<<b<<"的最小公倍數為:"<<d<<endl;}intgongyue(inta,intb){inte;for(;a%b!=0;){e=a%b,a=b,b=e;}returnb;}intgongbei(inta,intb){intf;f=a*b/gongyue(a,b);returnf;}實驗__11__實驗報告教學班級:32學生學號:20230676學生姓名:實驗日期:2023.03.25實驗地點:7308(機房)指導教師簽名:__________實驗成績:___________一、實驗目的1.掌握自定義有返回值函數的概念、定義及使用;2.掌握自定義void函數的概念、定義及使用;3.掌握自定義有返回值函數與自定義void函數在定義及使用上的區別;4.掌握函數參數間的數據傳遞。二、實驗任務1.設計一個程序,用來計算輸入的兩個整數的加、減、乘、除,每一個計算要單獨用一個用戶自定義的void函數來實現,接收輸入數據也要用void函數來實現,輸入數據中不包含0。2.將鍵盤輸入的10個整數按從小到大的順序排序〔冒泡法〕,要求排序功能用自定義函數實現。三、實驗結果〔源程序+注釋〕程序一#include<iostream>usingnamespacestd;voidmain(){doublea,b,c;voidshuru(double&,double&);voidjia(double,double,double&);voidjian(double,double,double&);voidcheng(double,double,double&);voidchu(double,double,double&);shuru(a,b);jia(a,b,c);cout<<"a+b="<<c<<endl;jian(a,b,c);cout<<

溫馨提示

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

評論

0/150

提交評論