計算機科學(xué)與技術(shù)第2次上機實驗_第1頁
計算機科學(xué)與技術(shù)第2次上機實驗_第2頁
計算機科學(xué)與技術(shù)第2次上機實驗_第3頁
計算機科學(xué)與技術(shù)第2次上機實驗_第4頁
計算機科學(xué)與技術(shù)第2次上機實驗_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、工程大學(xué)程序設(shè)計基礎(chǔ)實驗報告基礎(chǔ)實踐二姓 名:麥豆班級:學(xué) 號:實驗時間:2018年 4 月 19 日成績工程大學(xué)計算機基礎(chǔ)課程教學(xué)中心實驗題目1 :輸入一個整數(shù),如果輸入的數(shù)是偶數(shù)或者負(fù)數(shù),則輸出其 平方,否則輸出其一半的值設(shè)計思想:將數(shù)用2取余是否為0判斷奇偶,與0判斷大小判斷正負(fù), 調(diào)用庫函數(shù)來實現(xiàn)平方,在if語句中用到邏輯運算符11,同時在將奇 數(shù)變?yōu)橐话霑r用到了強制類型轉(zhuǎn)換.實驗代碼及注釋:#include <stdio. h>#include <stdlib. h># i nc 1 tide <math. h>輸入一個整數(shù),如果輸入的數(shù)是偶數(shù)或者

2、負(fù)數(shù),則輸出其平方,否則 輸出其一半的值int mainOdouble y=2, z ;二次方int x;/輸入的數(shù)printfC'請輸入一個數(shù):");scanfC'M", &x);if(x%2)=0) | (x<0)/利用if語句,將數(shù)用2取余是否為0判斷奇偶,與0判斷大小判斷正負(fù)x=(int)pow(int)x , y);/調(diào)用庫函數(shù)來實現(xiàn)平方 printf("%d",x);elsez=(double)x/2;將x值強制轉(zhuǎn)換賦給double型變量ZprintfC1%. llfH,z);)return 0;驗證與叵強言項目

3、隼二比b修驗第二次曾一顆bin口巳bug徵二;XS一窿匕心請輸入=9Process returned 0 (0x0) execution time : 14. Ill sPress any key to continue-S D:CB”目償二牡二:煌一筮binD旨一感巳情輸入一個數(shù):713. 5Process returned 0 (0x0? execution time : 6.101 s Press any key to continue.總結(jié)與心得體會:真正明白了強制類型轉(zhuǎn)換不改變變量類型,僅僅給變其數(shù)值的類型.同時對邏輯運算符有了更深的認(rèn)識,另外知道了 pow函數(shù)的兩個變量 均為dou

4、ble型int是不適用的實驗題目2 :編寫程序,計算購貸款,請輸入購貨金額,輸出實際付款金額.購物折扣率如下:購貨金額二500元 不打折500元購貨金額二1000元9折1000元購貨金額 8折分別用if語句,switch語句編程.設(shè)計思想:在用switch語句編寫時先用if語句來對switch變量c 賦值,再用switch來進(jìn)行運算在用if語句編寫時直接用if來對輸入的數(shù)進(jìn)行判斷選擇相應(yīng)的運算 語句來得到最后的結(jié)果.Switch語句實驗代碼及注釋:#include <stdio. h>#inc 1 tide <stdlib. h>/編寫程序,計算購貸款,請輸入購貨金額,

5、輸出實際付款金額 int mainOint c;/switch 語句變量double money ;/定義變量類型printfC請輸入購貨金額:”);scanfClf", &money);if (money<=500)/ffl if 語句對 c 賦值c=l;)else if(money<=1000)c=2;) elsec=3;)switch (c)case 1:break ;case 2:money = money*0. 9;break;case 3:money = money*0. 8;break;default:printf (“輸入錯誤”);)printfC

6、'實際付款金額為2fn", money);return 0;If語句實驗代碼及注釋:#include <stdio. h>#include <stdlib. h>int mainOdouble money ;/定義變量類型printf("請輸入購貨金額:”);scanfClf", fimoney);if(money<0) /用if對值困進(jìn)行判斷printfC'金額不能為負(fù)數(shù)!”);)else if (money<=500&&money>=0)printfC'實際付款金額為2fn&qu

7、ot;, money);else if(money<=1000)(money=money*0. 9;printfC'實際付款金額為:%. 2fn", money);)elsemoney二money*0. 8;有一些缺點,尤其對變量C的值,有時不得不借助if語句,反而繁瑣運 算速度變慢實臉題目3 :輸入四個整數(shù),求其前兩個數(shù)中較小的數(shù)與后兩個數(shù)中 較大的數(shù)之和.設(shè)計思想:定義6個變量,其中兩個變量為較小數(shù)與較大數(shù),將第一個 數(shù)暫時存儲在最小值中,將第三個數(shù)暫時存儲在最大值中,利用if語 句判讀若第一個數(shù)不為最小值重新賦值,若第三個數(shù)不為最大值重新 賦值,得到前兩個數(shù)中最小

8、值和后兩個數(shù)中最大值.最后對兩數(shù)求和. 實驗代碼及注釋:#include <stdio. h>#include <stdlib. h>int mainOint a, b, c, d, minnumber, maxnuniber, sum;/定義整型變量 printf ("請輸入四個數(shù):");scanf(" %d?od%d%d", &a, &b, &c, &d);m i nnumbe r=a;/ /將第一個數(shù)暫時存儲在最小值中 maxnumber=c;/將第三個數(shù)暫時存儲在最大值中 if(a>b

9、)minnumber=b;/第一個數(shù)不為最小值重新賦值if(c<d)maxnumber=d; 第三個數(shù)不為最大值重新賦值)sum 二 m i nnuniber+maxnumber;printfC'前兩個最小數(shù)與后兩個最大數(shù)之和為十,sum);return 0;驗證與結(jié)論: D;C諾目饃二牡后駛后二:潼,binDebugM二殘押入四6 12 3療兩個最小數(shù)與后網(wǎng)個最大數(shù)之和為16_Jrocess retiirned U lUxClJ execution time : 5. 026 sress any key to continue.總結(jié)與心得體會:在比較兩數(shù)大小時通常會用中間變量來

10、存儲過渡, 這樣會容易交換大小值,當(dāng)涉及到三個以上數(shù)的比較視仍可用這種思想,在比較大小中if語句是必不可少的.實驗題目4:某個服裝展廳宣布表所示的物品季節(jié)性打折.折 扣 ''一 一 .機加工制品干匚制品-5%表4-i某服裝展示廳宣布的物品打折表購買總撇/元0100101200201 300請使用switch和if語句編寫一個程序,計算某顧客應(yīng)付的款項.設(shè)計思想:將輸入值除以100,再強制轉(zhuǎn)換為int型得到c值,在此之 前用if語句將邊界值提前去掉,防止對switch語句造成干擾,同時使 用if來檢測非法值的輸入,運用goto語句跳轉(zhuǎn)使其重新輸入.實驗代碼及注釋:#include

11、 <stdio. h>#inc 1 tide <stdlib. h>int main()double moneya, nioneyb, summoney;/機力口工制品總額,手工制品 總額int c;/switch 變量quit :;/輸入非法值讓其重新輸入數(shù)據(jù)用goto跳轉(zhuǎn)到此pr int f(”請輸入機加工制品總金額和手工制品總金額:”);scanf("%1f%1f", &moneya, &moneyb);suninioney=moneya+moneyb; / 計算 總金額c=(int)(summoney/100);/得至swit

12、ch 語句變量 cif(sunmioney<0)printfC'數(shù)據(jù)錯誤!n");goto quit;輸入非法值故讓其重新輸入數(shù)據(jù)用goto跳轉(zhuǎn) 到quit位置注意goto語句跳轉(zhuǎn)位置else if(summoney=100)將邊界值用 if 語句父理,switch 語 句無法欠理(sunnnoney=nioneya+moneyb*0. 95;)else if(summoney=200)summoney=moneya*0. 95+moneyb*0. 925;else if(suninioney=300)summoney=moneya*0. 925+moneyb和.9;e

13、lseswitch (c)邊界值去掉用switchcase 0:sunimoney=nioneya+moneyb*0. 95;break;case 1:suminoney=moneya*0. 95+moneyb*0. 925;break;case 2:summoney=moneya*0. 925+moneyb初.9;break;default :sumnioney=moneya*0. 9+moneyb*0. 85;printf(n 顧客應(yīng)付的款項為:%. 21f(元)n”,summoney);return 0;驗證與結(jié)論:B D:C吾言項目像二牡機實驗償二熠五罌也in'Debug償二娼

14、五基qxr請跑人機加工制品忌金額和手工制品總金額:200 100 顧客應(yīng)付的款項為:275. 00(元)Process returned 0 (0x0Jexecution time : 95. 454 sPress any key to continue.總結(jié)與心得體會:switch在邊界值公理上比較麻煩,有時容易出錯, 需要注意,一般要與if搭配使用,但switch語句提高了運行速 度,goto語句慎用word版木.實驗題目5: 一個電表按照如下的比率計費:前200度電:每度0.8元;后100度電:每度0.9元;超過300度電:每度1元;所有用戶都是按照最少100元進(jìn)行收費.如果總費用大于4

15、00元還要 加收總數(shù)的15%的費用.請編寫一個程序,讀取用戶名和用電量,并按 用戶名顯示應(yīng)收費.設(shè)計思想:聲明長整型變量 name,double 型變量 electric_quantity,money,用 if語句來進(jìn)行判斷電量electric_quantity困,最后對費用總數(shù)與 400進(jìn)行判斷,輸出用戶名與費用實驗代碼及注釋:#inc 1 tide <stdio. h>#include <stdlib. h>int mainOdouble electric_quantity, money;long int name;printfC,請輸入用戶名和電量:")

16、;scan&name, &electric_quantity);if(electric_quantity<=200)(money=e1ectric_quantity*0. 8;)else if (e1ectric_quantity<=300)(money=200*0.8+(electric_quantity-200)*0.9;elsemoney=(electric_quantity-300)*l+200*0.8+100*0.9;)if (money<=100)/對電價進(jìn)行判斷至少為100,大于400加收 總數(shù)的15%(moneys100;)else if (money>=400)money 二 money+nioney初 15;pri

溫馨提示

  • 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

提交評論