



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、輸配電一班內部資料 C+ 所有上機實驗實驗二第 1 題? 編寫程序計算梯形面積。公式為: s=(a+b)h/2 ,其中: a、 b 分別為梯形上底和下底的寬, h 為梯形的高。? 運行該語句后結果是? cout(cout5,2,8)endl;cout5,2;為什么?#includevoid main()float a,b,h;float s;coutabh;s=(a+b)*h/2;cout 梯形的面積為 sendl;第 2 題? 已知華氏溫度和攝氏溫度的轉換公式為:C=(F-32)*5/9 ,其中 C 為攝氏溫度F 為華氏溫度。假設當前華氏溫度為80 度,求對應的攝氏溫度是多少?要求輸出最后結
2、果。#includevoid main()float F;float C;coutF;C=(F-32)*5/9;cout 攝氏溫度為 :Cendl;第 3 題?假設三角形的三邊長為3,4,5,求其面積。(s=(a+b+c)/2,area=sqrt(s(s-a)(s-b)(s-c)(上述四題變量的值要求從鍵盤提供。)?提示:使用根號,需在文件前方加上獨立的一行函數完成。如x = sqrt(2) ,則 x 的值即為1.414#include ,并使用sqrt#include#includevoid main()float a,b,c,d;float s;float area;coutabc;if
3、(a+bc&b+ca&a+cb) s=(a+b+c)/2;d=s*(s-a)*(s-b)*(s-c);area=sqrt(d);cout 三角形的面積為:areaendl;elsecout 無法構成三角形;第 4 題?假設有任意一個x 為 3 位數(如?思路:按課堂上所講解,分別拆出示,再組合為321。x=123 ),求出其倒序之后的結果(如123 的百位、十位和個位分別用x=321 )。a、 b 和 c 來表? 十位數為: b = x / 10 % 10;#includevoid main()int a,b,c;int x;coutx;a=x/100;b=x/10%10;c=x%10;int
4、 y;y=100*c+10*b+a;cout 倒序三位數為 :ytmax?tmax:(ctmin?tmin:c)#includevoid main( ) int a,b,c; int tmax; int tmin; int zjs;coutabc;if(a=b)tmax=a;tmin=b;elsetmax=b;tmin=a;zjs=ctmax?tmax:(ctmin?tmin:c);cout 中間數為 :zjsendl;實驗三第 1 題? 用 cin 語句從鍵盤輸入一個整數,要求判斷其奇偶性,并輸出結果。?例:輸入的是3,則輸出 “3 是奇數 ”,如輸入的是4 則輸出 “4 是偶數 ”。? 注
5、意這里輸出的時候數值部分應該根據輸入的值發生變化,而不是固定寫在字符串當中。? 關于 cin 和 cout 的具體用法請參閱課本#includevoid main() int i;couti;if(i%2=0)cout 該整數是偶數 endl;elsecout 該整數是奇數 endl;第 2 題? 用 cin 語句從鍵盤輸入一個整數,要求判斷其正負性,并輸出結果。? 例:輸入的是 3,則輸出 “3 是正數 ”,如輸入的是 4 則輸出 “ 4 是負數 ”,如果輸入的是 0 則輸出 “該數是零 ”? 注意這里輸出的時候數值部分應該根據輸入的值發生變化,而不是固定寫在字符串當中。? 關于 cin 和
6、 cout 的具體用法請參閱課本#includevoid main()int i;couti;if(i*-1=0)cout 該整數是 0endl;elseif(i*-10)cout 該整數是正數 endl;elsecout 該整數是負數 endl;第 3 題?用 cin 輸入一個整數,判斷其是否是3 或 5 的倍數。分別用 15,9,10,8 四個例子, 來測驗本題的四種不同的結果(都可以、 只能被只能被 5、都不能),并輸出結果。3、? 如:輸入的是 9,則輸出 “9 只能被 3 整除 ”,輸入的是 15,則輸出 “15 可以同時被 3和 5整除”。#includevoid main() i
7、nt a;couta;if(a%3=0)couta 是 3的倍數 ;elsecouta 不是 3的倍數 ;if(a%5=0)couta 是 5的倍數 ;elsecouta 不是 5的倍數 ;第 4 題? 完成算術四則運算: a,b,為實型 c 為字符型? 從鍵盤輸入 a+b 、 a-b 、 a*b 、 a/b? 用 switch 語句來編寫? 運行程序后要測試輸入 :12+6010.5-5.52.5*0.53/5#includevoid main() char c; float a,b;cout 輸入兩個整數 :acb;cout 結果為 :endl;switch(c) case+:couta+
8、bendl;break; case-:couta-bendl;break; case*:couta*bendl;break; case/:couta/bendl;break;第 5 題? 用 cin 輸入三角形的三條邊,判斷能否構成三角形。?注:需要考慮盡可能的情況,如三邊是否為負數或者三邊等。輸出最終的結果,如輸入的是1 2 3,則輸出 “12 30,以及兩邊之和是否大于第不能構成三角形”,如輸入的是34 5,則輸出 “3 4 5 可以構成三角形”。#includevoid main() float a,b,c; cinabc;if(a=0|b=0|c=0)couta b c 不能構成三角形
9、 c&b+ca&a+cb)couta b c能構成三角形 endl;elsecouta b c不能構成三角形 endl;實驗四第 1 題:用 cin 語句從鍵盤輸入一個月份的值,(假設 1-3 為春, 4-6 為夏, 7-9 為秋, 10-12用 if為冬)語句判斷該月的季節并輸出結果。#includevoid main()int a;couta;if(1=a&a=3)cout春endl;if(4=a&a=6)cout夏endl;if(7=a&a=9)cout秋endl;if(10=a&a=12)cout冬endl;?第 2 題?用 cin 語句從鍵盤輸入一個月份的值,用 switch語句判斷
10、該月的季節并輸出結果。(假設1-3 為春, 4-6 為夏, 7-9 為秋, 10-12 為冬)#includevoid main( )int season;coutseason;cout 季節為 :;switch(season) case 12:cout冬 ;break;case 11:cout冬 ;break;case 10:cout冬 ;break;case 9:cout秋 ;break;case 8:cout秋 ;break;case 7:cout秋 ;break;case 6:cout夏 ;break;case 5:cout夏 ;break;case 4:cout夏 ;break;ca
11、se 3:cout春 ;break;case 2:cout春 ;break;case 1:cout春 ;break;第3題? 要求從鍵盤輸入年份,判斷該年份,是否為閏年。參教材p90頁。#includevoid main() int year;coutyear;if(year%4=0&year%100!=0|year%400=0) /能被 4整除但不能被 100整除,或者能被400整除coutyear 年是閏年 n;elsecoutyear 年不是閏年 n;第4題用cin 從鍵盤輸入一個字符, 用if 語句判斷并輸出該字符的種類 (大寫字母、 小寫字母、阿拉伯數字以及其他字符)。#includ
12、evoid main() char c;coutc;if(c=a&c=z)cout=A&c=Z)cout=0&c=9)cout 該字符為阿拉伯數字n;elsecout 該字符為其他字符n;? 第 5 題從鍵盤輸入三個數(a,b,c ),要求按從小到大進行排序。#includevoid main()float a,b,c,t;cout 請輸入 a b c 三個數: abc;if(ab)/如果 a小于 b的值,那么就交換a,b 變量的值t=a;a=b;b=t;if(bc)t=b;b=c;c=t;if(ab)t=a;a=b;b=t;coutcbaendl;實驗五第 1 題用任意的循環語句求出1-10
13、0 之間所有奇數的和(1+3+5+99)并輸出結果。#includevoid main( ) int i,sum;i=1;sum=0;while(i100)sum+=i;/sum=sum+i的C+寫法i=i+2;cout1 到 100之間所有奇數的和是:;coutsumendl;第 2 題? 編程輸出 1-100 之內所有能被 3整除的數,并輸出這些數。?本題輸出結果應該為:3 6 9 12.99?提示:對 i 進行 100次循環,在每次循環中判斷i 能否被 3整除,如果可以則輸出,否則進行下一次循環。#includevoid main( ) int i,x;x=3;for(i=1;i=100
14、;i+)if(i%3=0)coutiendl;第3題?求一個正整數的所有因子。例如:#includevoid main( ) int i,x;couti;cout 這個正整數的所有因子為;for(x=1;x=i;x+) if(i%x=0)coutxendl;24的因子是12348612第4題寫一個程序,計算輸入的正整數的位數,如輸入2008,該數的位數為4。#includevoid main( )int n,i=0;coutn;cout 位數為 :;while(n)n=n/10;i+;cout 輸入正整數的位數為:iendl;第5題? 輸出所有的順序三位數。?所謂的順序三位數是指而987則不是
15、。百位=十位=個位,如123,556都是順序三位數,#includevoid main( ) int a,b,c;cout 所有的順序三位數為:;for(int i=100;i1000;i+) a=i/100; b=i/10%10;c=i%10;if(a=b&b=c)coutiendl;實驗六? 第 1 題 : 編寫函數 squaresum ,用來求解兩個整數的平方和。從鍵盤里面用 cin 輸入兩個整數,調用該函數,并輸出結果。?例: cout squaresum(3,4) endl;則輸出#include#includeint squaresum(int a,int b)int square
16、sum;returnsquaresum=a*a+b*b;25void main()int a,b;coutab;coutsquaresum(a,b)endl;第 2 題? 編寫函數 mypower,用來求解整數 a 的 n 次方。? 該函數的聲明為 int mypower(int a , int n);?提示:進行n 次循環,每次累乘a 即可。?例: cout mypower(3,4) endl;則輸出#includeint mypower(int a,int n) int b=1;for(int i=1;ian;coutmypower(a,n)endl;第 3 題?編寫函數 bool isp
17、rime(intn) 用來判斷整數否則返回 false 。n 是否為素數,如果是則返回true,? 利用該函數求出 1000 以內所有的素數并顯示。#include#includebool isprime(int n)bool a=1;for(int i=2;i=sqrt(n);i+)if(n%i=0)a=0;break;return a;void main( )int x;for(x=2;x=1000;x+)if(isprime(x)coutxendl;continue;? 第 4 題:編程從鍵盤輸入一個數,判斷是奇偶性;?要求定義一個判斷奇偶數的函數int even (int n),當 n
18、 為偶數時返回1,否則返回0。#includevoid main()int even(int n);int x;cinx;if(even(x)cout 偶數! endl;elsecout 奇數! r,分別求出 c(5,2),c(8,6) 的組合數,階乘及組合數用函數實現。#includeint zhs(int x)if(x=0)|(x=1)return 1;return x*zhs(x-1);void main( )int a,b,c,d,e;coutde;a=zhs(d);b=zhs(e);c=zhs(d-e);if(de)couta/(b*c)endl;2. 求 400之內的親密對數, 所
19、謂親密對數, 即A的所有因子之和等于B,B的所有因子之和等于 A。要求設計函數int fun(int n)該函數完成查找因子的功能#includeint fun(int n);void main()for( i=2;i400;i+)if(fun(fun(i)=i)if(i!=fun(i)couti和 fun(i)int fun(int n) int s=0;for( i=1;in;i+)if(n%i=0)s+=i;return s;是親密對數endl;3. 打印輸出下面圖形。第一行:一個 *第二行: 3個*第三行: 5個*第四行 :7 個*第五行: 9個*#include void main(
20、)int j,i;for(i=1; i=5; i+)for(j=1; j=5-i; j+)cout ;for(j=1;j=2*i-1;j+)cout*;coutendl;實驗八? 熟悉數組的基本操作過程?1)定義數組 int a5;? 2)利用循環從鍵盤依次輸入 5個數分別賦給數組的 5個元素;? 3)求出它們的總和;? 4)在屏幕上顯示數組的 5個元素以及總和#includevoid main( ) int a5; int s=0;cout 請輸入五個正整數 :n; for(int i=0;iai;s+=ai;cout 五個數的和為 :sendl;第2題? 假設數組 int a5=1,2,3
21、,4,5;? 1)定義數組 int b5;? 2)將數組 a中元素的平方依次付給數組 b的對應元素,也就是 b0=1 ,b1=4要求必須使用循環完成;? 3)在屏幕上顯示數組 b的 5個元素的值#includevoid main( ) int a5=1,2,3,4,5;int b5;for(int i=0;i=4;i+)bi=ai*ai;coutbit;coutendl;第3題?定義數組 int x5 = 5 , 2 ,3 , 1 ,4;? 復習課本當中求解數組最大值的算法, 利用循環求出數組 x最大值和最小值之間的差。#includevoid main( ) int x5=5,2,3,1,4
22、; int i,main,max,min; max=x0;for(i=1;imax)max=xi;min=x0;for(i=1;i5;i+)if(ximin) min=xi;main=max-min;coutmax=max main=mainendl;第4題:?復習課本上的冒泡和選擇排序算法,任選一種對數組intx5=5 , 2,3 , 1,4進行排序,并輸出排序后的結果。#includevoid main( ) int x5=5,2,3,1,4,t;for(int j=1;j5;j+)for(int i=0;ixi+1)t=xi;xi=xi+1;xi+1=t;for(int i=0;i5;i
23、+)coutxiendl;實驗九? 第1題?定義數組 int a23,運行以下步驟:? 1)從鍵盤依次輸入 6個數存入該數組當中? 2)按每行三個的形式打印這 6個數的值?如輸入的是 1 2 3 4 5 6,則輸出效果是? 1 2 3? 4 5 6#include void main( ) cout 請輸入六個數 :nendl; int i,j,a23;for(i=0;i2;i+)for(j=0;jaij;coutendl;for(i=0;i2;i+)for(j=0;j3;j+)coutaij;coutendl;第2題? 定義數組 int a34? 1)從鍵盤輸入 12個整數,存入該數組中;?
24、 2)利用循環求出數組中的最大值、最小值和總和;? 3)打印上述結果#includevoid main( )int i,j,k,a34,max,min,sum=0;cout 請輸入 12個整數 :n;for(i=0;i3;i+)for(j=0;jaij;max=a00,min=a00;for(k=0;kmax)max=aij;if(aijmin)min=aij;coutmax=maxn;coutmin=minn;coutsum=sumendl;實驗十第1題? 編寫函數,其功能是求出整型數組元素值的平均值。? 建議函數原型如下double getaverage(int a , int n);其中
25、 a是數組,而 n表示數組的長度? 在main函數中定義數組,調用該函數驗證結果。#includedouble getaverage(int a,int n)double s=0;double p;for(int i=0;in;i+)s+=ai;p=s/n;return p;void main( )int p,m,b50;cout 程序將完成計算整型數組平均值n;coutp;cout 請輸入一個整形數組以求平均值:n;for(m=0;mbm;cout 平均值為 :getaverage(b,p)endl;第2題:?編寫函數,其功能是將數組內容進行倒序排列,如數組inta5 的5個元素本來是1,2
26、,3,4,5 ;則經過倒序之后變成 5,4,3,2,1.?函數原型聲明建議為void reverse(int a,int n);其中 a為數組而 n為數組的長度。? 算法提示:將數組的頭尾元素交換,然后分別遞增和遞減,直到兩者相遇或者尾巴超過頭就結束循環。?假設數組元素是:1 2 3 4 5,則循環第一次之后變成:5 2 3 4 1,第二次之后變成 5 4 3 2 1,第三次的時候因為頭尾已經相等則結束。? 在main函數中定義數組,調用該函數驗證結果。#includevoid reverse(int a,int n)int t,i,j=n-1;for(i=0;ij;i+)t=ai;ai=aj
27、;aj=t;j-;void main( )int m,p,b50;coutp;cout 請輸入一個整型數組:n;for(m=0;mbm;reverse(b,p);for(m=0;mp;m+)coutbm;coutn;第3題? 將課本上的簡單查找算法提煉為函數實現,在main函數中定義數組并調用該函數驗證。?函數的建議聲明 int find(int a,int n,int k) ;其中 a為數組, n為數組的長度, k為要查找的值。?如果 k在該數組中,則返回對應的下標,如果不在數組中,則返回-1.#include find(int a, int n, int k)for (int i=0;in
28、;i+)if(ai=k) break;if(in) return i;return -1;int main()intn=5;int a5 = 1,2,3,4,5;int k = 3;int iresult = 0;iresult = find(a,n,k);if (-1) = iresult)cout 沒有查到 K值 !;elsecout 查到了 K值 !;return 0;實驗十一? 第1題:定義數組 char str20 ,從鍵盤輸入一個字符串存入該數組中。? 要求:將字符串中進行倒序,并輸出倒序后的結果。? 思路:將字符串頭尾字母交換,并逐步推進直至頭超過尾。? 例:輸入的字符串為 AB
29、Cdef,則輸出的結果為 fedCBA。#includevoid main()char s120,s220;int i,j;couts1;for(i=0;s1i!=0;i+);for(j=0;s1j!=0;j+);s2i-j-1=s1j;s2i=0;cout 處理后的字符串 :s2;? 第2題:? 定義數組 char str20 ,從鍵盤輸入一個包含多種形式的字符串存入該數組中。? 要求:統計字符串中大寫字母、小寫字母、阿拉伯數字和其他字符的數量。? 例:輸入的字符串是 ABC&defg1234,則輸出結果為:大寫字母 3個,小寫字母4個,阿拉伯數字 4個,其他字符 3個。? 思路:對串中每個
30、字符判斷其范圍。#includevoid main()char str20;int i=0,j=0,p=0,n=0,m=0;cin.getline(str,20);while(stri!=0)if(stri=a & stri=A & stri=0 & stri=9)m+;else p+;i+;cout 小寫字母有: jendl;cout 大寫字母有: nendl;cout 數字有: mendl;cout 其它字母有: pendl;? 第三題:定義字符數組 s130 和 s220 ;? 從鍵盤輸入 VC+ 6.0 和 language 存入 s1 和s2字符數組中 ;? n從鍵盤上輸入 ( 如輸
31、入: 6);? 要求將字符串 s2 的前 n個字符復制到字符數組 s1中去,并在末尾加 0#includevoid main() char s130=“VC+6.0”;char s220=“language ”;int i=0,j=0,n;while(s1i!=0 )i+;cinn;for(j=0;jn;j+)s1i=s2j;i+;s1i=0 ;couts1endl;實驗十二第1題?定義描述平面坐標點的結構體類型point ,并定義該類型的兩個變量p1和p2。? 從鍵盤輸入 2個點的坐標數據,求兩點間線段的長度,輸出最后結果。#include#includestruct pointfloat
32、x,y;p1,p2;void main()cout 請輸入兩個點的坐標數據:p1.xp1.y;cinp2.xp2.y;double d;d=sqrt(p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y);cout 距離為: dendl;第2題:? 定義金錢數的類型 money,其成員包括元、角和分。? 定義兩個 money的變量 m1,m2? 從鍵盤輸入 m1和 m2的數據,判斷 m1和 m2的大小? 如m1的輸入為 3 4 5 ,m2的輸入為 6 7 8 ,則輸出 m1比 m2小。#includestruct moneyint yuan,jiao,fe
33、n;m1,m2;void main()cout 請輸入任意兩個金額:m1.yuanm1.jiaom1.fen;cinm2.yuanm2.jiaom2.fen;int x,y;x=m1.yuan*100+m1.jiao*10+m1.fen;y=m2.yuan*100+m2.jiao*10+m2.fen;if(xy)coutm1 比 m2小endl;elsecoutm2 比 m1小endl;第3題:? 定義金錢數的類型 money,其成員包括元、角和分。? 定義兩個 money的變量 m1,m2? 從鍵盤輸入 m1和 m2的數據,求出 m1和m2的和,要求角和分的值 10,并輸出結果。? 例: m
34、1為 1元 2角 5分, m2為3元4角 6分,則 m1+m2的值應該是 4元 7角 1分。#includestruct moneyint yuan,jiao,fen;m1,m2;void main()cout 請輸入任意兩個金額:m1.yuanm1.jiaom1.fen;cinm2.yuanm2.jiaom2.fen;int x,y,z,a,b,c;x=m1.yuan*100+m1.jiao*10+m1.fen;y=m2.yuan*100+m2.jiao*10+m2.fen;z=x+y;a=z/100;b=z/10%10;c=z%10;cout 總金額為: a 元 b 角 c 分endl;實
35、驗十三?第1題:定義數組 int a10,定義整形指針 p。? 只利用指針 p完成 10個整數的輸入和輸出, 要求循環當中不允許出現下標運算符 。#includevoid main(void)int a10,i;int *p;for(i=0;iai;for(p=a;p=a+9;p+)cout*pt;第2題?定義數組 int a10,從鍵盤當中輸入10個數放入其中。?定義指針 p和 q分別指向數組的開始及末尾,只用指針,不出現下標運算符成數組元素的倒序。完#includevoid main()int a10,x,*p=&a0,*q;q=&a9;while(p*p+;for(p=a;pq;p+,q-)x=*p,*p=*q,*q=x;for(p=a;pa+10;p+)cout*pt;coutendl;第3題? 編寫函數 int find(int *p,int n,int k) ,用來查找數組當中是否存在整數其中 p應該賦值為數組的名字, n則是數組的長度。 ? 如果 k在數組當中,返回位置,否
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司職場內活動方案
- 公司組織健身走活動方案
- 公司自制檸檬茶活動方案
- 公司晨會團體活動方案
- 2025年統計學專業期末考試試卷及答案
- 2025年經濟法相關知識考試試題及答案
- 北師大版(2024)七年級下冊英語期末復習:Unit1~6各單元書面表達練習題(含答案+范文)
- 2025年中國冷凍面包產品行業市場全景分析及前景機遇研判報告
- 2024年度浙江省二級造價工程師之建設工程造價管理基礎知識練習題及答案
- 2024年度浙江省二級注冊建筑師之法律法規經濟與施工題庫綜合試卷B卷附答案
- 2025 年湖北省中考生物地理試卷
- 荊州中學2024-2025學年高二下學期6月月考語文答案(定)
- 2025年高考語文新課標1卷試卷及答案(新課標Ⅰ卷)
- 公司年中會議策劃方案
- 計算物理面試題及答案
- JG/T 455-2014建筑門窗幕墻用鋼化玻璃
- 法人變更免責協議書
- 浙江國企招聘2025杭州地鐵科技有限公司招聘51人(第一批)筆試參考題庫附帶答案詳解
- 北京市2025年第一次普通高中學業水平合格性考試地理試題(含答案)
- 200立方米谷氨酸發酵罐設計
- 多媒體給農村初中語文教學注入了活力
評論
0/150
提交評論