計算機科學與技術第2次上機實驗_第1頁
計算機科學與技術第2次上機實驗_第2頁
計算機科學與技術第2次上機實驗_第3頁
計算機科學與技術第2次上機實驗_第4頁
計算機科學與技術第2次上機實驗_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上哈爾濱工程大學程序設計基礎實驗報告基礎實踐二姓 名: 麥豆 班 級: 學 號: 實驗時間: 2018 年 4 月 19 日成績哈爾濱工程大學計算機基礎課程教學中心實驗題目1:輸入一個整數,如果輸入的數是偶數或者負數,則輸出其平方,否則輸出其一半的值設計思想: 將數用2取余是否為0判斷奇偶,與0判斷大小判斷正負,調用庫函數來實現平方,在if語句中用到邏輯運算符|,同時在將奇數變為一半時用到了強制類型轉換.實驗代碼及注釋:#include <stdio.h>#include <stdlib.h>#include <math.h>/輸入一

2、個整數,如果輸入的數是偶數或者負數,則輸出其平方,否則輸出其一半的值int main() double y=2,z ;/二次方 int x;/輸入的數 printf("請輸入一個數:"); scanf("%d",&x); if(x%2)=0) | (x<0) /利用if語句,將數用2取余是否為0判斷奇偶,與0判斷大小判斷正負 x=(int)pow(int)x , y);/調用庫函數來實現平方 printf("%d",x); else z=(double)x/2;/將x值強制轉換賦給double型變量z printf(&q

3、uot;%.1lf",z); return 0;驗證與結論:總結與心得體會:真正明白了強制類型轉換不改變變量類型,僅僅給變其數值的類型.同時對邏輯運算符有了更深的認識,另外知道了pow函數的兩個變量均為double型int是不適用的實驗題目2:編寫程序,計算購貸款,請輸入購貨金額,輸出實際付款金額.購物折扣率如下:購貨金額<=500元 不打折500元<購貨金額<=1000元 9折1000元<購貨金額 8折分別用if語句,switch語句編程.設計思想:在用switch語句編寫時先用if語句來對switch變量c賦值,再用switch來進行運算在用if語句編寫時

4、直接用if來對輸入的數進行判斷選擇相應的運算語句來得到最后的結果.Switch語句實驗代碼及注釋:#include <stdio.h>#include <stdlib.h>/編寫程序,計算購貸款,請輸入購貨金額,輸出實際付款金額int main() int c;/switch語句變量 double money ;/定義變量類型 printf("請輸入購貨金額:"); scanf("%lf",&money); if (money<=500)/用if語句對c賦值 c=1; else if(money<=1000)

5、c=2; else c=3; switch (c) case 1: break ; case 2: money = money*0.9; break; case 3: money = money*0.8; break; default: printf("輸入錯誤"); printf("實際付款金額為:%.2fn",money); return 0;If語句實驗代碼及注釋:#include <stdio.h>#include <stdlib.h>int main() double money ;/定義變量類型 printf(&quo

6、t;請輸入購貨金額:"); scanf("%lf",&money); if(money<0) /用if對值范圍進行判斷 printf("金額不能為負數!"); else if (money<=500&&money>=0) printf("實際付款金額為:%.2fn",money); else if(money<=1000) money=money*0.9; printf("實際付款金額為:%.2fn",money); else money=money*0.8

7、; printf("實際付款金額為:%.2fn",money); return 0;驗證與結論:總結與心得體會:If與switch語句各有優劣,switch語句可以提高運算速度,但相應也有一些缺點,尤其對變量c的值,有時不得不借助if語句,反而繁瑣運算速度變慢實驗題目3:輸入四個整數,求其前兩個數中較小的數與后兩個數中較大的數之和.設計思想:定義6個變量,其中兩個變量為較小數與較大數,將第一個數暫時存儲在最小值中,將第三個數暫時存儲在最大值中,利用if語句判讀若第一個數不為最小值重新賦值,若第三個數不為最大值重新賦值,得到前兩個數中最小值和后兩個數中最大值.最后對兩數求和.

8、實驗代碼及注釋:#include <stdio.h>#include <stdlib.h>int main() int a,b,c,d,minnumber,maxnumber,sum;/定義整型變量 printf("請輸入四個數:"); scanf("%d%d%d%d",&a,&b,&c,&d); minnumber=a;/將第一個數暫時存儲在最小值中 maxnumber=c;/將第三個數暫時存儲在最大值中 if(a>b) minnumber=b;/第一個數不為最小值重新賦值 if(c<

9、d) maxnumber=d;/第三個數不為最大值重新賦值 sum=minnumber+maxnumber; printf("前兩個最小數與后兩個最大數之和為%d",sum); return 0;驗證與結論:總結與心得體會:在比較兩數大小時通常會用中間變量來存儲過渡,這樣會容易交換大小值,當涉及到三個以上數的比較視仍可用這種思想,在比較大小中if語句是必不可少的.實驗題目4:某個服裝展廳宣布表所示的物品季節性打折.請使用switch和if語句編寫一個程序,計算某顧客應付的款項.設計思想:將輸入值除以100,再強制轉換為int型得到c值,在此之前用if語句將邊界值提前去掉,防

10、止對switch語句造成干擾,同時使用if來檢測非法值的輸入,運用goto語句跳轉使其重新輸入.實驗代碼及注釋:#include <stdio.h>#include <stdlib.h>int main() double moneya,moneyb,summoney;/機加工制品總額,手工制品總額 int c;/switch變量 quit :;/輸入非法值讓其重新輸入數據用goto跳轉到此 printf("請輸入機加工制品總金額和手工制品總金額:"); scanf("%lf%lf",&moneya,&moneyb)

11、; summoney=moneya+moneyb;/計算總金額 c=(int)(summoney/100);/得到switch語句變量c if(summoney<0) printf("數據錯誤!n"); goto quit;/輸入非法值故讓其重新輸入數據用goto跳轉到quit位置注意goto語句跳轉位置 else if(summoney=100)/將邊界值用if語句處理,switch語句無法處理 summoney=moneya+moneyb*0.95; else if(summoney=200) summoney=moneya*0.95+moneyb*0.925;

12、else if(summoney=300) summoney=moneya*0.925+moneyb*0.9; else switch (c)/邊界值去掉用switch case 0: summoney=moneya+moneyb*0.95; break; case 1: summoney=moneya*0.95+moneyb*0.925; break; case 2: summoney=moneya*0.925+moneyb*0.9; break; default : summoney=moneya*0.9+moneyb*0.85; printf("顧客應付的款項為:%.2lf(元

13、)n",summoney); return 0;驗證與結論:總結與心得體會:switch在邊界值處理上比較麻煩,有時容易出錯,需要注意,一般要與if搭配使用,但switch語句提高了運行速度,goto語句慎用實驗題目5:一個電表按照如下的比率計費:前200度電:每度0.8元;后100度電:每度0.9元;超過300度電:每度1元;所有用戶都是按照最少100元進行收費.如果總費用大于400元還要加收總數的15%的費用.請編寫一個程序,讀取用戶名和用電量,并按用戶名顯示應收費.設計思想: 聲明長整型變量name,double型變量electric_quantity,money,用if語句來

14、進行判斷電量electric_quantity范圍,最后對費用總數與400進行判斷,輸出用戶名與費用實驗代碼及注釋:#include <stdio.h>#include <stdlib.h>int main() double electric_quantity,money; long int name; printf("請輸入用戶名和電量:"); scanf("%ld%lf",&name,&electric_quantity); if(electric_quantity<=200) money=electric_quantity*0.8; else if (electric_quantity<=300) money=200*0.8+(electric_quantity-200)*0.9; else money=(electric_quantity-300)*1+200

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論