西安交大C++程序設(shè)計第二章作業(yè)_第1頁
西安交大C++程序設(shè)計第二章作業(yè)_第2頁
西安交大C++程序設(shè)計第二章作業(yè)_第3頁
西安交大C++程序設(shè)計第二章作業(yè)_第4頁
西安交大C++程序設(shè)計第二章作業(yè)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、西安交通大學(xué)實(shí)驗(yàn)報告課程 計算機(jī)程序設(shè)計_實(shí)驗(yàn)名稱 基本數(shù)據(jù)類型的熟悉_第 1頁 共12頁系 別_ _ 實(shí) 驗(yàn) 日 期 2014 年 3月 4日專業(yè)班級_ _組別_ 實(shí) 驗(yàn) 報 告 日 期 2014年3月 8 日姓 名_ _學(xué)號 _ 報 告 退 發(fā) ( 訂正 、 重做 )同 組 人_ 教 師 審 批 簽 字 一. 實(shí)驗(yàn)?zāi)康?. 通過實(shí)驗(yàn)熟悉整數(shù)類型變量、字符變量、雙精度類型變量等基本數(shù)據(jù)類型的使用;2. 學(xué)會小數(shù)的取整(通過強(qiáng)制類型轉(zhuǎn)換的方法)、整數(shù)的求余、表達(dá)式中算術(shù)運(yùn)算符的使用;3. 條件語句(if else)、循環(huán)語句(while)的使用。二. 實(shí)驗(yàn)內(nèi)容(一) 第一題:編寫一個程序,要求

2、完成以下要求:1)提示用戶輸入任意的三個小數(shù);2)顯示這三個小數(shù);3)將這三個小數(shù)相加并顯示結(jié)果;4)將結(jié)果四舍五入轉(zhuǎn)換成整數(shù)并顯示。1.要點(diǎn)分析:第一步:輸入三個小數(shù);第二步:顯示所輸入的小數(shù);第三步:求和并顯示;第四步:對所求得的和取整(強(qiáng)制類型轉(zhuǎn)換,將雙精度類型變量轉(zhuǎn)換為整數(shù)變量),再用和減去該數(shù)從而得到和的小數(shù)部分;第五步:通過判斷小數(shù)部分的大?。ㄊ?gt;=0.5還是<0.5)決定是“四舍”還是“五入”,根據(jù)不同的情況輸出“四舍五入”所得的結(jié)果(小于0.5則直接輸出取整所得;大于等于0.5則取整后加1);第六步:選擇是否再次開始,若是,循環(huán)前五步;否則,結(jié)束程序。2.源程序代碼

3、:#include<iostream>using namespace std;int main()double a,b,c,sum,left;/定義雙精度類型變量;int SUM;/定義整數(shù)變量;cout<<"請輸入三個任意小數(shù):"/提示輸入三個小數(shù);cin>>a>>b>>c;cout<<"您輸入的三個小數(shù)是:"<<" "<<a<<" "<<b<<" "<&l

4、t;c<<endl;/顯示輸入的量;sum=a+b+c;/求和;cout<<"這三個小數(shù)的和是:"<<sum<<endl;SUM=(int)sum;/對和取整;left=sum-SUM;/求和的小數(shù)部分;if(left>=0.5)/判斷小數(shù)部分大小,并據(jù)此實(shí)現(xiàn)四舍五入;cout<<"四舍五入得:"<<SUM+1<<endl;elsecout<<"四舍五入得:"<<SUM<<endl;int ch;/定義整數(shù)變量

5、;cout<<"如需繼續(xù)輸入,請按鍵;如要結(jié)束,請按鍵!"<<endl;/提示選擇是否繼續(xù);cin>>ch;/輸入表示選擇的數(shù)字;while(ch=1)/循環(huán)上述運(yùn)算;cout<<"請輸入三個任意小數(shù):"cin>>a>>b>>c;cout<<"您輸入的三個小數(shù)是:"<<" "<<a<<" "<<b<<" "<<

6、c<<endl;sum=a+b+c;cout<<"這三個小數(shù)的和是:"<<sum<<endl;SUM=(int)sum;left=sum-SUM;if(left>=0.5)cout<<"四舍五入得:"<<SUM+1<<endl;elsecout<<"四舍五入得:"<<SUM<<endl;cout<<"如需繼續(xù)輸入,請按鍵;如要結(jié)束,請按鍵!"<<endl;cin>

7、;>ch;cout<<"運(yùn)行完畢,謝謝!"<<endl;return 0;3.實(shí)驗(yàn)結(jié)果:(二) 第二題:輸入兩個角度值x、y,計算如下式子的值(中的三角函數(shù)的輸入是弧度):sincos()1. 要點(diǎn)分析:第一步:輸入兩個角度值;第二步:判斷所輸入的值下式子是否有意義(即x與y之和是不是90+n*360),若無,提示重新輸入直至正確;若有意義,進(jìn)行下一步;第三步:將所輸入的角度制下的值轉(zhuǎn)化為弧度制下的值(需要用到pi,只能預(yù)先輸入較為精確的pi值);第四步:計算并輸出結(jié)果。2.源程序代碼:#include<iostream>#incl

8、ude<cmath>/包含標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)的math.h函數(shù)庫;using namespace std;int main()double x,y,sum,SUM,result,m,pi=3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679;/定義雙精度變量,給出常量pi的初始值;cout<<"請輸入兩個角度值:"/提示輸入變量;cin>>x>>y;/輸入變量;m=(abs(x+y)

9、+90)/360;int M;/定義整數(shù)變量M;M=(int)m;/對m取整得到M;while(m-M>=0.5|m=M)/比較M=m之間的關(guān)系,使得式子無意義時循環(huán);cout<<"對不起在您輸入的數(shù)值下該式無意義,請重新輸入:"/提示重新輸入;cin>>x>>y;m=(abs(x+y)+90)/360;M=(int)m;x=(pi*x)/180.0;/將x轉(zhuǎn)化為弧度;y=(pi*y)/180.0;/將y轉(zhuǎn)化為弧度;sum=abs(x+y);/x與y和的絕對值;SUM=abs(x)+abs(y);/求x、y絕對值之和;result=

10、(sin(SUM)/(sqrt(cos(sum);/計算所求式子的值;cout<<"計算結(jié)果是:"<<result<<endl;/輸出結(jié)果;return 0;3.實(shí)驗(yàn)結(jié)果:(三)第三題:仿照本章課件例題,任意輸入3個小寫字母組成的單詞,采用凱撒加密方法:每個字母用其后第5個字母代替形成密文,然后輸出密文。1.要點(diǎn)分析:第一步:輸入要加密的三個小寫字母;第二步:判斷所輸入的是不是全為小寫字母(判斷是否“>=a”而“<=z”),如不是,提示重新輸入;如是,進(jìn)行下一步;第三步:將輸入的字母往后推移5位(z完了之后需要再次從a數(shù)起)并

11、輸出結(jié)果。2.源程序代碼:using namespace std;int main()char ch1,ch2,ch3;/定義三個字符變量;cout<<"請輸入三個小寫字母:"/提示輸入需要加密的密文;cin>>ch1>>ch2>>ch3;while(ch1>'z'|ch1<'a'|ch2>'z'|ch2<'a'|ch3>'z'|ch3<'a')/判斷若所輸入的任意一個字符量不是小寫字母,重新輸入

12、;cout<<"您輸入的不全是小寫字母,請重新輸入:"<<endl;cin>>ch1>>ch2>>ch3;/cout<<"您輸入的小寫字母是:"<<ch1<<" "<<ch2<<" "<<ch3<<endl;/顯示所輸入的原字母;if(ch1>'u')/判斷輸入的各個字母是否是后個,若是則從a繼續(xù)數(shù)直至五個以后;ch1=ch1-21;elsech1=c

13、h1+5;if(ch2>'u')ch2=ch2-21;elsech2=ch2+5;if(ch3>'u')ch3=ch3-21;elsech3=ch3+5;cout<<"密文是:"<<ch1<<ch2<<ch3<<endl;/輸出密文;return 0;3.實(shí)驗(yàn)結(jié)果:(四)第四題:輸入一個4位十進(jìn)制數(shù),求其每位數(shù)字的立方之和。例如:輸入2456,則輸出23+43+53+63=8+64+125+216=413。注意只要求輸出紅色算式結(jié)果。1.要點(diǎn)分析:第一步:輸入數(shù)值;第二步

14、:判斷輸入的是不是四位數(shù),若不是,提示重新輸入;若是,進(jìn)行下一步;第三步:分別分離出該四位數(shù)的個位、十位、百位、千位數(shù)字(通過對該四位數(shù)除以10、100、10000取余等方法);第四步:計算各位數(shù)字的立方和并輸出。2.源程序代碼:#include<iostream>using namespace std;int main()int A,a,b,c,d,sum;/定義整數(shù)變量;cout<<"請輸入一個四位整數(shù):"cin>>A;while(A>=10000|A<1000)/判斷輸入的值是不是四位數(shù),若不是則重新輸入;cout<

15、;<"您輸入的不是四位數(shù),請正確輸入:"cin>>A;cout<<"您輸入的是:"<<A<<endl;/顯示所輸入的四位數(shù);a=A%10;/分離出個位數(shù);b=(A%100-A%10)/10;c=(A%1000-A%100)/100;d=A/1000;/分離出千位數(shù);sum=a*a*a+b*b*b+c*c*c+d*d*d;/計算各位數(shù)立方和;cout<<"計算結(jié)果是:"<<d*d*d<<'+'<<c*c*c<<

16、;'+'<<b*b*b<<'+'<<a*a*a<<'='<<sum<<endl;/輸出計算結(jié)果;return 0;3.實(shí)驗(yàn)結(jié)果:(五)第五題:編寫程序計算下列二元一次方程組的根: AX + BY = C DX + EY = F 通過鍵盤輸入6個系數(shù),然后計算求解,最后輸出方程的根。1. 要點(diǎn)分析:第一步:輸入方程組的各個系數(shù);第二步:判斷方程是否無解或有無數(shù)解(滿足a*e-b*d=0),若是,提示重新輸入;若不是,進(jìn)行下一步;第三步:計算x、y的值,并輸出。2.源程序代碼:#

17、include<iostream>using namespace std;int main()double a,b,c,d,e,f;/定義雙精度變量;double x,y;double m;cout<<"您要輸入的二元一次方程組的形式如下:"<<endl<<"a*x+b*y=c;d*x+e*y=f;"<<endl;/提示輸入系數(shù)的順序;cout<<"請按照上述提示按照"<<endl<<"a b c d e f"<&

18、lt;endl<<" 的順序輸入相應(yīng)的系數(shù):"cin>>a>>b>>c>>d>>e>>f;/輸入系數(shù);m=a*e-b*d;/比較系數(shù);while(m=0)/判斷方程是否有解,若無則重新輸入;cout<<"您輸入的方程無解或有無數(shù)解!"<<endl<<"請重新按照相同方式輸入:"cin>>a>>b>>c>>d>>e>>f;m=a*e-b*d;x=(

19、c*e-b*f)/m;/計算x的值;y=(a*f-c*d)/m;/計算y的值;cout<<"計算結(jié)果是:"<<"x= "<<x<<" "<<"y= "<<y<<endl;/輸出計算結(jié)果;return 0;3.實(shí)驗(yàn)結(jié)果:(六)第六題: 仿照本章課件例題,分別用字符變量、短整型變量和整型變量求N!,通過運(yùn)行測試,分別告知最大的N為多少?1.要點(diǎn)分析:第一步:輸入n的值,以確定一個執(zhí)行范圍;第二步:i=1,result=1;第三步:判斷i

20、<=n是否成立,若否,結(jié)束程序;若是,執(zhí)行下一步;第四步:計算result*i的值并將其賦給result,然后將i增加1,返回第三步再次判斷。2.源程序代碼:(1)字符型:#include <iostream> /以字符變量的數(shù)據(jù)類型輸入;using namespace std;int main() int n,i=1;/定義整數(shù)變量; unsigned char result=1;/定義無符號字符變量; cout<<"input integer n: " cin>>n; while (i<=n)/在不超出n的范圍內(nèi)循環(huán)輸出結(jié)果; result=result*i;cout<<i<<"!="<<result+0<<endl;/輸出結(jié)果;i=i+

溫馨提示

  • 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

提交評論