



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗 1 C+基礎6編寫程序,輸入某大寫字母的ASCII 碼值,輸出該字母的對應小寫字母。#includeusing namespace std;int main()int i;cini;if(i=65 & 1=90 )coutchar(i-A+a)endl;elsecout 輸入有誤 endl; return 0;實驗 2三、實驗思考1. 輸入直角三角形的兩條直角邊長,調用平方根庫函數 sqrt 來求斜邊的長度#include#includeusing namespace std;int main() float a,b,c;coutab;c=sqrt(a*a+b*b);cout 直角三角形
2、的斜邊 =cendl;return 0;2從鍵盤輸入一個字符,如果輸入的是英文大寫字母,則將它轉換成小寫字母后輸出,否則輸出原來輸入的字符。#includeusing namespace std;int main()char c;1coutc;if(c=A& c=Z)c+=a-A;coutcendl;return 0;3輸入一個學生的成績,如高于60 分,則輸出“ pass”;否則,輸出“failed ”。 #include using namespace std;int main()float grade;coutgrade; if(grade=60) coutpassendl; elsec
3、outfailed;return 0;4. 計算分段函數#include #include using namespace std;int main()double x,y;coutx;if(!x)y=cos(x)-pow(x,2)+3*x;elsey=sin(x)+sqrt(pow(x,2)+1)+3*x;couty=yendl;return 0;25. 從鍵盤上輸入 1 7之間的一個數字,輸出其對應星期幾的英文表示。#include using namespace std;int main()char c;coutc;switch(c)case 1:coutMonday;break;cas
4、e 2:coutTuesdag;break;case 3:coutWenesday;break;case 4:coutThursday;break;case 5:coutFriday;break;case 6:coutSaturday;break;case 7:coutSunday;break;default: cout wrong number;coutendl;return 0;6. 設計一個簡單的計算器程序,能夠進行加、減、乘、除簡單運算并顯示結果。 #include using namespace std;int main()coutleftOperandOperatorrightOp
5、erand;int result;switch(Operator)case +:result=leftOperand+rightOperand;break;case -:result=leftOperand-rightOperand;break;case *:3result=leftOperand*rightOperand;break;case /:if(rightOperand!=0)result=leftOperand/rightOperand;elsecout 除數為 0,除法不能進行 endl;return 0;break;default:coutOperator 是本程序不支持的操作
6、。endl; return 0;coutleftOperandOperatorrightOperand=resultendl;return 0;實驗 3三、思考題參考程序1n2 kn1編程計算表達式k 1 的值。#include using namespace std;int main()int n,k=1,sum=0,mean;coutn;while(k0)mean=sum/n;elsemean=0;cout1 n 個整數平方和的均值 =meanendl;return 0;42輸入兩個正整數,判別它們是否互為互質數。所謂互質數,就是最大公約數是 1。 #include using names
7、pace std;int main()int m,n,r;coutmn;coutm”和” n;if(mn) r=m;m=n;n=r; while(r=m%n)m=n;n=r;if(n=1)cout 是互質數 endl;elsecout ”不是互質數” endl;return 0;3編寫程序,輸出從公元2000 年至 3000 年間所有閏年的年號。#include using namespace std;int main()int year;cout 公元 2000 年至 3000 年間閏年的年號 :n; for(year=2000;year=3000;year+)if(year%4=0 & y
8、ear%100 !=0)|(year%400=0)coutyeart;coutendl;return 0;4編寫程序模擬猴子吃桃子問題:猴子第1 天摘下若干桃子,當即吃了一半,還不過癮,又多吃了一個。第2 天將剩下的桃子又吃了一半,又多吃一個。以后每天都吃了前一天剩下的5一半零 1 個。到了第 10 天,只剩下了一個桃子。請問猴子第一天共摘了多少個桃子?方法 1:#include using namespace std;int main()int day,qian,hou=1;for(day=9;day=1;day-)qian=(hou+1)*2;hou=qian;coutqianendl;r
9、eturn 0;運行結果: 1534方法 2:#include using namespace std;int main()int day,number=1;for(day=9;day=1;day-)number=(number+1)*2;coutnumberendl;return 0;方法 3:#include using namespace std;int peach(int);int main()cout 第 1 天共摘了 peach(1) 個endl;return 0;int peach(int day)int number;6if(day=10)number=1;elsenumber
10、=2*(peach(day+1)+1);return number;5計算 s=1+(1+2)+(1+2+3)+( 1+2+3+4)+ (1+2+3+n )的值。 方法 1:#include using namespace std;int main()int i,j,n;long int sum,total(0);coutn;for(i=1;i=n;i+)sum=0;for(j=1;j=i;j+)sum+=j;total+=sum;couts=totalendl;return 0;#include using namespace std;int main()int i,n;long int s
11、um(0),total(0);coutn;for(i=1;i=n;i+)sum+=i;total+=sum;7couts=totalendl;return 0;6馬克思曾經做過這樣一道趣味數學題:有 30個人在一家小飯館用餐,其中有男人、女人和小孩。每個男人花了 3 先令,每個女人花了2 先令,每個小孩花了1 先令,一共花了50 先令。請問男人、女人以及小孩各有幾個人 ?#include using namespace std;int main()int x,y,z;for(x=1;x=16;x+)for(y=1;y=24;y+)z=30-x-y;if(3*x+2*y+z=50)coutMen
12、 are x,women are y ,children are z.endl; return 0; 實驗 4 常用程序設計算法三、實驗思考1讀入一個整數N,若 N為非負數,則計算N到 2N之間的整數和;若 N為負數,則求 2N到 N之間的整數和。分別利用 for 和 while 寫出兩個程序。#includeusing namespace std;int main()int N;cinN;int i=N;long sum=0;if(N=0)for(;i=2*N;i-) sum+=i; coutsumendl; return 0;#include using namespace std;int
13、 main()int N;cinN;int i=N;long sum=0; if(N=0) while(i=2*N) sum+=i; i-; coutsumendl; return 0;92設 s 1 111,求與 8 最接近的 s 的值及與之對應的n 值。 23n#includeusing namespace std;int main()float s=1.0;int n=1;do+n;s+=1.0/n;while(s(8-(s-1.0/n)couts=s-1.0/n n=n-1endl;elsecouts=s n=nBC,且 A+B+C100,求滿足 1 1 1 的共有多少組。A2B2C2
14、#include using namespace std;int main()int A,B,C;int count=0;for(C=0;C!=33;+C )for(B=100; BC;-B )for(A=100; AB; -A)if(A + B + C 100) & (A * A * B * B) = (A * A + B * B)*C*C)cout A B C endl;+ count;cout count is: count endl;10return 0;4一司機出車禍后駕車逃離現場,第一位目擊者記得車牌號前兩位數字相同,且后兩位數字也相同;第二位目擊者是一位數學家,他看出車牌號是四位
15、完全平方數。試推算肇事車的車牌號。#includeusing namespace std;int main()int n,i;for(i=32;i100;i+)n=i*i;if(n%10 = n%100/10 & n/1000 = n/100%10)coutnendl;return 0;115編程驗證“四方定理”:所有自然數至多只要用4 個數的平方和就可以表示。 #includeusing namespace std;int main()int number,i,j,k,l;coutnumber;for(i=1;inumber/2;i+)for(j=0;j=i;j+)for(k=0;k=j;k
16、+)for(l=0;l=k;l+)if(number=i*i+j*j+k*k+l*l)coutnumber=i*i+j*j+k*k+l*lendl;exit(0);return 0;6編程驗證“角谷猜想”:任給一個自然數,若為偶數則除以2,若為奇數則乘 3 加 1,得到一個新的自然數,然后按同樣的方法繼續運算,若干次運算后得到的結果必然為1。#includeusing namespace std;int main()int n,flag;flag=1;coutplease input n:n;while(flag)if(n%2=0)n=n/2;elsen=n*3+1;12 if(n=1) fl
17、ag=0; coutsuccess!endl; return 0;實驗 5 函數和編譯預處理三、實驗思考1. 參考程序如下:#include using namespace std;long int Fibonacci(int n);void main()int i;long int t,t1;coutplease input t:t;for (i=2;i+)t1=Fibonacci(i);if (t1t) coutmin Fibonacci=t1endl;break; long int Fibonacci(int n)if (n=0) return 1;else if (n=1) retur
18、n 1;else return Fibonacci(n-1)+Fibonacci(n-2);2.參考程序如下:#include using namespace std;int num_n(int n,int a) /由 n 個 a 組成的多位數的計算if (n=1) return a;13else return num_n(n-1,a)*10+a;void main()int i,n;long int sum=0;coutplease input n:n;for (i=1;i=n;i+)coutnum_n(i,2)endl;sum+=num_n(i,2);coutn=n:sum=sumendl
19、; 3.參考程序如下:#include using namespace std;int isprime(int n) /判斷n 是否為素數的函數int i;for (i=2;in-1;i+)if (n%i=0) return 0;/非素數,函數值返回0 return 1;/素數,函數值返回 1void main()int i,min_prime,max_prime;for (i=1000;i=2000;i+)if(isprime(i)=1)cout 最小素數 =i=1000;i-)if(isprime(i)=1)cout 最大素數 =iendl; break; 4. 參考程序如下:#inclu
20、de using namespace std;int sum(int n)14static s=0;s=s+n;return s;void main()int i, n,s;coutn;for (i=1;i=n;i+)s=sum(i);cout1n 之和 =sendl;5. 參考程序如下:#include using namespace std;int is_h(int n) /判斷參數 n 是否為回文int i,m,fn;/i用來記錄 n 的某一位數字 ,m 初值為 n,fn 用于記錄 n 的倒序數m=n;fn=0;while(m!=0)i=(m%10);fn=(fn*10+i);m=m/1
21、0;if(fn=n) return 1; /是回文數返回1else return 0; /不是回文數返回0void main()int i;int t; cint;for (i=1;i=t;i+)if (is_h(i)=1)cout 回文數 :iendl;156. 參考程序如下:#include using namespace std;#define X (a+b)/2#define AREA X*hvoid main()float a,b,h,s;cout 請分別輸入 a,b,h 的值,用空格分隔!abh;s=AREA;coutAREAendl;實驗六 數組三、實驗思考題參考源代碼思考題 1
22、. shi_6_3_1.cpp#include #define N 5int lookup(int ,int ,int ); /void main() int i, aN,index,yLooked;函數說明cout 請輸入 N(=5) 個整數: endl;for(i=0;iai;cout 請輸入您要找的整數:yLooked;index=lookup(a,N,yLooked); /函數調用 if(index!=-1)cout 您要找的數下標為:indexendl; elsecout 沒有找到 yLookedendl;coutn謝謝使用本程序,再見!endl; cin.get();16cin.g
23、et();int lookup(int x,int n,int y) /函數定義int flag=-1; /首先假設找不到int i;for(i=0;in;i+)if(xi=y)flag=i;break; /找到了則不必再往后找return flag;-思考題2. shi_6_3_2.cpp#include #define N 5int max(int ,int ); /void main() int i, aN,xMax;函數說明cout 請輸入 N(=5) 個整數: endl;for(i=0;iai;xMax=max(a,N);cout 數組中最大的的整數:xMaxendl;coutn謝謝
24、使用本程序,再見!endl;cin.get();cin.get();int max(int x,int n)int i,r=x0; /首先假設 x0最大 ,且存于 r中for(i=1;in;i+) /也可寫成 for(i=0;ir) r=xi; /發現了更大的則 修改 rreturn r; / r中 存有最大元素的值-17思考題3. shi_6_3_3.cpp#include #define N 5void invert(int ,int); / void main() int i, aN;函數說明cout 請輸入 N(=5) 個整數: endl;for(i=0;iai;invert(a,N)
25、;coutn 這些數 逆序輸出如下: nendl; for(i=0;iN;i+) cou tai ;coutn謝謝使用本程序,再見!endl; cin.get();cin.get();void invert(int x,int n)int i=0, j=n-1,t; /while(ij)t=xi; xi=xj; xj=t;i+;j-;return;-思考題 4. shi_6_3_4.cpp#include #define M 3 /M行#define N 4 /N void main()列int numMN; /=1,6,9, 3,5,4, 2,7,8; int i,j,it,itt,t,jt
26、,exist=0;cout 請輸入 3 行 4 列 的 二維 數組: endl; for (i=0;iM;+ +i)for (j=0;jnumij;18for (i=0;iM;+i) t=numi0; jt=0; for (j=0;jN;+j)if ( tnumij) t=numij, jt=j; itt=i;for(it=0;itnumitjt) t=numitjt, itt=it; if (i=itt) e xist=1;break; if (exist) cout鞍點為 tendl; else cout無鞍點 endl;coutn謝謝使用本程序,再見 !endl; cin.get();
27、cin.get(); -思考題 5. shi_6_3_5.cpp分析:采用 3 個數組,它們元素值含義如下:19第 19/23 頁bab0ab1、 .、abN -1a、b、c 數組元素值含義示意圖#define N 7#include #include using namespace std; i nt main( ) int i,j,t,k,ik;int aN,bN,cN; coutplease input N numbers:endl; fo r (i=0;iai; /從鍵盤上輸入N個元素, a0 保存第一個數據couta 數組各元素的值 :n; for(i=0;iN;i+)coutset
28、w(6)ai; coutendl;for (i=0;iN;i+) bi=i;for (i=0;iN-1;i+) /排序,使ab0ab1、 .、abN-1 k=i; /每輪選擇過程開始時假定abi最小,將下標i保存在k 中for (j=i+1;jabj) k=j; /若發現某個 abj小于 abk,則將k 修改為 j if (k!=i)20第 20/23 頁 t=bi; bi=bk; bk=t; coutb 數組各元素的值 :n; for(i=0;iN;i+)coutsetw(6)bi; coutendl;ik=1;cb0=ik;for (i=1;iN;i+) if (abi!=abi-1) / abi=abi-1時,它們的編號相同 ik+; cbi=ik; coutc 數組各元素的值 (a 數組元素按大小編號 ):n; for(i=0; iN;i+)co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設備沉降觀測管理制度
- 設備設施檢查管理制度
- 設計公司人事管理制度
- 設計服飾搭配管理制度
- 評估公司人事管理制度
- 診所抓藥日常管理制度
- 診所行風建設管理制度
- 試驗設施器材管理制度
- 財務部精細化管理制度
- 財政直達資金管理制度
- 2024年合肥市公安局警務輔助人員招聘筆試參考題庫附帶答案詳解
- 2024網站滲透測試報告
- 2024年中國建筑西南勘察設計研究院有限公司招聘筆試參考題庫含答案解析
- DG-TJ08-2433A-2023 外墻保溫一體化系統應用技術標準(預制混凝土反打保溫外墻)
- 教師法制教育培訓課件
- 眾包物流模式下的資源整合與分配
- 鐵路貨運流程課件
- 四川省成都市成華區2023-2024學年七年級上學期期末數學試題(含答案)
- 慢性硬膜下血腫護理要點大揭秘
- 管工基礎知識培訓課件
- 成人氣管切開拔管中國專家共識解讀
評論
0/150
提交評論