版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 實(shí) 驗(yàn) 1 C + + 基 礎(chǔ) 6編寫(xiě)程序,輸入某大寫(xiě)字母的 ASCII碼值,輸出該字母的對(duì)應(yīng)小寫(xiě) 字母。 #include using namespace std; int main() int i; cini; if(i=65 & 1=90 ) coutchar(i-A+a)endl; else cout輸入有誤 endl; return 0; 實(shí)驗(yàn) 2 三、實(shí)驗(yàn)思考 1.輸入直角三角形的兩條直角邊長(zhǎng),調(diào)用平方根庫(kù)函數(shù) sqrt 來(lái)求斜邊的 長(zhǎng)度 #include #include using namespace std; int main() float a,b,c; coutab;
2、c=sqrt(a*a+b*b); cout直角三角形的斜邊 =cendl; return 0; 2從鍵盤(pán)輸入一個(gè)字符,如果輸入的是英文大寫(xiě)字母,則將它轉(zhuǎn)換成 小寫(xiě)字母后輸出,否則輸出原來(lái)輸入的字符。 #include using namespace std; int main() char c; 1 coutc; if(c=A& c=Z) c+=a-A; coutcendl; return 0; 3輸入一個(gè)學(xué)生的成績(jī),如高于 60 分,則輸出 “ pass;”否則,輸出 “ fa iled ?!?#include using namespace std; int main() float gr
3、ade; coutgrade; if(grade=60) coutpassendl; else coutfailed; return 0; 4. 計(jì)算分段函數(shù) #include #include using namespace std; int main() double x,y; coutx; if(!x) y=cos(x)-pow(x,2)+3*x; else y=sin(x)+sqrt(pow(x,2)+1)+3*x; couty=yendl; return 0; 2 5. 從鍵盤(pán)上輸入 17 之間的一個(gè)數(shù)字,輸出其對(duì)應(yīng)星期幾的英文表示。 #include using namespace
4、 std; int main() char c; coutc; switch(c) case 1:coutMonday;break; case 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. 設(shè)計(jì)一個(gè)簡(jiǎn)單的計(jì)算器程序,能夠進(jìn)行加、減、乘、除簡(jiǎn)
5、單運(yùn)算并顯示結(jié)果。 #include using namespace std; int main() coutleftOperandOperatorrightOperand; int result; switch(Operator) case +: result=leftOperand+rightOperand;break; case -: result=leftOperand-rightOperand;break; case *: 3result=leftOperand*rightOperand;break; case /: if(rightOperand!=0) result=leftOp
6、erand/rightOperand; else cout除數(shù)為 0,除法不能進(jìn)行 endl; return 0; break; default: coutOperator是本程序不支持的操作。 endl; return 0; coutleftOperandOperatorrightOperand=resultendl; return 0; 實(shí)驗(yàn) 3 三、思考題參考程序 1n2 kn1編程計(jì)算表達(dá)式 k 1 的值。 #include using namespace std; int main() int n,k=1,sum=0,mean; coutn; while(k0) mean=sum/n
7、; else mean=0; cout1n 個(gè)整數(shù)平方和的均值 =meanendl; return 0; 4 2輸入兩個(gè)正整數(shù),判別它們是否互為互質(zhì)數(shù)。所謂互質(zhì)數(shù),就是最 大公約數(shù)是 1。 #include using namespace 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是互質(zhì)數(shù) endl; else cout 不”是互質(zhì)數(shù) ” endl; return 0; 3編寫(xiě)程序,輸出從公元 2000 年至 3000 年間所有閏年
8、的年號(hào)。 #include using namespace std; int main() int year; cout公元 2000 年至 3000 年間閏年的年號(hào) :n; for(year=2000;year=3000;year+) if(year%4=0 & year_x0010_0 !=0)|(year0=0) coutyeart; coutendl; return 0; 4編寫(xiě)程序模擬猴子吃桃子問(wèn)題:猴子第 1 天摘下若干桃子,當(dāng)即吃 了一半,還不過(guò)癮,又多吃了一個(gè)。第 2天將剩下的桃子又吃了一半, 又多吃一個(gè)。以后每天都吃了前一天剩下的 5 一半零 1 個(gè)。到了第 10 天,只剩下
9、了一個(gè)桃子。請(qǐng)問(wèn)猴子第一天共摘 了多少個(gè)桃子? 方法 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; return 0; 運(yùn)行結(jié)果: 1534 方法 2: #include using namespace std; int main() int day,number=1; for(day=9;day=1;day-) number=(number+1)*2; coutnumberendl; re
10、turn 0; 方法 3: #include using namespace std; int peach(int); int main() cout第 1 天共摘了 peach(1)個(gè)endl; return 0; int peach(int day) int number; 6 if(day=10) number=1; else number=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;
11、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 sum(0),total(0); coutn; for(i=1;i=n;i+) sum+=i; total+=sum; 7 couts=totalendl; return 0; 6馬克思曾經(jīng)做過(guò)這樣一道趣味
12、數(shù)學(xué)題:有 30 個(gè)人在一家小飯館用 餐,其中有男人、女人和小孩。每個(gè)男人花了 3 先令,每個(gè)女人花了 2 先令,每個(gè)小孩花了 1 先令,一共花了 50 先令。請(qǐng)問(wèn)男人、女人以及 小孩各有幾個(gè)人 #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 are x,women are y ,children are z. endl; return 0; 實(shí)驗(yàn) 4 常用程序設(shè)計(jì)算法 三、實(shí)驗(yàn)思考 1讀入一個(gè)整數(shù) N
13、,若 N 為非負(fù)數(shù),則計(jì)算 N 到 2N之間的整數(shù)和; 若 N 為負(fù)數(shù),則求 2N到 N 之間的整數(shù)和。分別利用 for 和 while 寫(xiě)出 兩個(gè)程序。 #include using 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 main() int N; cinN; int i=N; long sum=0; if(N=0) while(i=2*
14、N) sum+=i; i-; coutsumendl; return 0; 9 2設(shè) s 1 111 ,求與 8 最接近的 s 的值及與之對(duì)應(yīng)的 n 值。 23n #include using 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; else couts=s n=nBC,且 A+B+C100,求滿足 1 1 1 的共有多少組。 A2B2C2 #include using namespace std; int main
15、() 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; 10 return 0; 4一司機(jī)出車(chē)禍后駕車(chē)逃離現(xiàn)場(chǎng),第一位目擊者記得車(chē)牌號(hào)前兩位數(shù) 字相同,且后兩位數(shù)字也相同;第二位目擊者是一位數(shù)學(xué)家,他看出 車(chē)牌號(hào)是四位完全平方數(shù)。試推算肇事車(chē)的車(chē)牌號(hào)。 #
16、include using namespace std; int main() int n,i; for(i=32;i100;i+) n=i*i; if(n_x0010_ = n_x0010_0/10 & n/1000 = n/100_x0010_) coutnendl; return 0; 11 5編程驗(yàn)證 “四方定理 ”:所有自然數(shù)至多只要用 4 個(gè)數(shù)的平方和就可 以表示。 #include using namespace std; int main() int number,i,j,k,l; coutnumber; for(i=1;inumber/2;i+) for(j=0;j=i;j+
17、) for(k=0;k=j;k+) 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編程驗(yàn)證 “角谷猜想 ”:任給一個(gè)自然數(shù),若為偶數(shù)則除以 2,若為 奇數(shù)則乘 3 加 1,得到一個(gè)新的自然數(shù),然后按同樣的方法繼續(xù)運(yùn)算, 若干次運(yùn)算后得到的結(jié)果必然為 1。 #include using namespace std; int main() int n,flag; flag=1; coutplease input n:n; while(flag) if(n
18、%2=0) n=n/2; else n=n*3+1; 12 if(n=1) flag=0; coutsuccess!endl; return 0; 實(shí)驗(yàn) 5 函數(shù)和編譯預(yù)處理 三、實(shí)驗(yàn)思考 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 F
19、ibonacci(int n) if (n=0) return 1; else if (n=1) return 1; else return Fibonacci(n-1)+Fibonacci(n-2); 2. 參考程序如下: #include using namespace std; int num_n(int n,int a) / 由 n 個(gè) a 組成的多位數(shù)的計(jì)算 if (n=1) return a; 13 else return num_n(n-1,a)*10+a; void main() int i,n; long int sum=0; coutplease input n:n; fo
20、r (i=1;i=n;i+) coutnum_n(i,2)endl; sum+=num_n(i,2); coutn=n:sum=sumendl; 3. 參考程序如下: #include using namespace std; int isprime(int n) / 判斷 n 是否為素?cái)?shù)的函數(shù) int i; for (i=2;in-1;i+) if (n%i=0) return 0;/ 非素?cái)?shù),函數(shù)值返回 0 return 1;/ 素?cái)?shù),函數(shù)值 返回 1 void main() int i,min_prime,max_prime; for (i=1000;i=2000;i+) if(ispr
21、ime(i)=1) cout最小素?cái)?shù) =i=1000;i-) if(isprime(i)=1) cout最大素?cái)?shù) =iendl; break; 4. 參考程序如下: #include using namespace std; int sum(int n) 14 static 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) / 判斷參數(shù)
22、n 是否為回文 int i,m,fn;/i 用來(lái)記錄 n 的某一位數(shù)字 ,m 初值為 n,fn 用于記錄 n 的倒序 數(shù) m=n; fn=0; while(m!=0) i=(m_x0010_); fn=(fn*10+i); m=m/10; if(fn=n) return 1; / 是回文數(shù)返回 1 else return 0; / 不是回文數(shù)返回 0 void main() int i; int t; cint; for (i=1;i=t;i+) if (is_h(i)=1) cout回文數(shù) :iendl; 15 6. 參考程序如下: #include using namespace std;
23、 #define X (a+b)/2 #define AREA X*h void main() float a,b,h,s; cout請(qǐng)分別輸入 a,b,h 的值,用空格分隔! abh; s=AREA; coutAREAendl; 實(shí)驗(yàn)六 數(shù)組 三、實(shí)驗(yàn)思考題 參考源代碼 思考題 1. shi_6_3_1.cpp #include #define N 5 int lookup(int ,int ,int ); / 函數(shù)說(shuō)明 void main() int i, aN,index,yLooked; cout請(qǐng)輸入 N(=5)個(gè)整數(shù): endl; for(i=0;iai; cout請(qǐng)輸入您要找的整
24、數(shù): yLooked; index=lookup(a,N,yLooked); / 函數(shù)調(diào)用 if(index!=-1) cout您要找的數(shù)下標(biāo)為: indexendl; else cout沒(méi)有找到 yLookedendl; coutn 謝謝使用本程序,再見(jiàn) !endl; cin.get(); 16cin.get(); int lookup(int x,int n,int y) / 函數(shù)定義 int flag=-1; / 首先假設(shè)找不到 int i; for(i=0;in;i+) if(xi=y) flag=i; break; / 找到了則不必再往后找 return flag; - 思考題 2.
25、 shi_6_3_2.cpp #include #define N 5 int max(int ,int ); / 函數(shù)說(shuō)明 void main() int i, aN,xMax; cout請(qǐng)輸入 N(=5)個(gè)整數(shù): endl; for(i=0;iai; xMax=max(a,N); cout數(shù)組中最大的的整數(shù): xMaxendl; coutn 謝謝使用本程序,再見(jiàn) !endl; cin.get(); cin.get(); int max(int x,int n) int i,r=x0; / 首先假設(shè) x0 最大 , 且存于 r 中 for(i=1;in;i+) / 也可寫(xiě)成 for(i=0;
26、ir) r=xi; / 發(fā)現(xiàn)了更大 的則 修改 r return r; / r 中 存有最大 元素的值 - 17 思考題 3. shi_6_3_3.cpp #include #define N 5 void invert(int ,int); / 函數(shù)說(shuō)明 void main() int i, aN; cout請(qǐng)輸入 N(=5)個(gè)整數(shù): endl; for(i=0;iai; invert(a,N); coutn 這些數(shù) 逆序輸出如下: nendl; for(i=0;iN;i+) coutai ; coutn 謝謝使用本程序,再見(jiàn) !endl; cin.get(); cin.get(); voi
27、d 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,exist=0; cout請(qǐng)輸入 3 行 4 列 的 二維 數(shù)組: endl; for (i=0;iM;+i) for (j=0;jnumij; 18for (i
28、=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) exist=1;break; if (exist) cout鞍點(diǎn)為 tendl; else cout無(wú)鞍點(diǎn) endl; coutn 謝謝使用本程序,再見(jiàn) !endl; cin.get(); cin.get(); - 思考題 5. shi_6_3_5.cpp 分析:采用 3 個(gè)數(shù)組,它們?cè)刂岛x如下: 19 第 19/23 頁(yè) bab0 ab1、
29、 .、 abN-1 a、 b、 c 數(shù)組元素值含義示意圖 #define N 7 #include #include using namespace std; int mai n( ) int i,j,t,k,ik; int aN,bN,cN; coutplease input N numbers:endl; for (i=0;iai; / 從鍵盤(pán)上輸入 N 個(gè)元素, a0保存第一個(gè)數(shù)據(jù) couta 數(shù)組各元素的值 :n; for(i=0;iN;i+) coutsetw(6)ai; coutendl; for (i=0;iN;i+) bi=i; for (i=0;iN-1;i+) / 排序,使
30、 ab0 ab1、.、 abN-1 k=i; / 每輪選擇過(guò)程開(kāi)始時(shí)假定 abi 最小,將下標(biāo) i 保存在 k 中 for (j=i+ 1;jabj) k=j; / 若發(fā)現(xiàn)某個(gè) abj 小于 abk, 則將 k 修改為 j i f (k!=i) 20 第 20/23 頁(yè) t=bi; bi=bk; bk=t; coutb 數(shù)組各元素的值 :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 時(shí),它們的編號(hào)相同 ik+; cb i=ik; coutc 數(shù)組各元素的值 (a 數(shù)組元素按大小
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省南平市文昌學(xué)校2020-2021學(xué)年高一物理上學(xué)期期末試卷含解析
- 福建省南平市外屯中學(xué)2021-2022學(xué)年高一英語(yǔ)下學(xué)期期末試卷含解析
- 4 上學(xué)路上 第二課時(shí) 說(shuō)課稿-2023-2024學(xué)年道德與法治一年級(jí)上冊(cè)統(tǒng)編版
- 雙十二消費(fèi)者體驗(yàn)解讀
- 12 故宮博物院 說(shuō)課稿-2024-2025學(xué)年語(yǔ)文六年級(jí)上冊(cè)統(tǒng)編版
- 歷史巨人典故解讀
- 科研之路揭秘
- 科技驅(qū)動(dòng):未來(lái)掌控者
- 外包施工合同(2篇)
- 2024活動(dòng)協(xié)作:權(quán)利與義務(wù)規(guī)定
- 2024年江蘇省《輔警招聘考試必刷500題》考試題庫(kù)帶答案(達(dá)標(biāo)題)
- GB/T 39733-2024再生鋼鐵原料
- 第二章 粉體制備
- 《工業(yè)機(jī)器人現(xiàn)場(chǎng)編程》課件-任務(wù)3.涂膠機(jī)器人工作站
- 預(yù)應(yīng)力空心板計(jì)算
- 中國(guó)能源展望2060(2025年版)
- 2024年年第三方檢測(cè)行業(yè)分析報(bào)告及未來(lái)五至十年行業(yè)發(fā)展報(bào)告
- 李四光《看看我們的地球》原文閱讀
- GA/T 1740.2-2024旅游景區(qū)安全防范要求第2部分:湖泊型
- 華為公司戰(zhàn)略發(fā)展規(guī)劃匯報(bào)
- 2025年社區(qū)工作者考試試題庫(kù)及答案
評(píng)論
0/150
提交評(píng)論