




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、上海建橋?qū)W院程序設(shè)計(jì)基礎(chǔ)C語言(本科)實(shí)驗(yàn)報(bào)告模塊名稱:第一模塊 簡單C程序設(shè)計(jì)實(shí)驗(yàn)類型:綜合型 實(shí)驗(yàn)環(huán)境:( 415 )機(jī)房 VC+6.0院別:機(jī)電學(xué)院專業(yè):電科B131學(xué)號(hào):1121486學(xué)生姓名:周鵬飛指導(dǎo)老師: 成長生 學(xué)期:2015年-2016第一學(xué)期實(shí)驗(yàn)三 綜合程序設(shè)計(jì) (1) 理解輸出參數(shù)的概念和運(yùn)用場(chǎng)合(2) 理解指針的概念(3) 掌握使用指針變量向主調(diào)函數(shù)傳值的方法(4) 掌握數(shù)據(jù)文件的循環(huán)讀取結(jié)構(gòu)(5) 掌握fprint fsanf等文件操作語句的使用任務(wù)一 改錯(cuò) 兩數(shù)交換打開程序文件error02_04.cpp改正程序中的錯(cuò)誤。Swap函數(shù)的功能是交換兩個(gè)數(shù)的值,在mai
2、n函數(shù)中指定兩個(gè)數(shù)的大小,調(diào)用swap函數(shù)交換兩個(gè)數(shù)的值輸出。正確的程序輸出:a=20,b=10#include<stdio.h>void swap(int *pa,int *pb);int main()int a=10,b=20;swap(a,b);printf("a=%d,b=%dn",a,b);return 0;void swap(int *pa,int *pb)int t; t=pa,pa=pb,pb=t;#include<stdio.h>void swap(int *pa,int *pb);int main()int a=10,b=20;s
3、wap(&a,&b);printf("a=%d,b=%dn",a,b);return 0;void swap(int *pa,int *pb)int t; t=*pa;*pa=*pb;*pb=t;任務(wù)二 3個(gè)數(shù)排序利用指針實(shí)現(xiàn)輸入a,b,c共3個(gè)整數(shù),按大小順序輸出。要求:編寫exchange函數(shù),功能是交換兩個(gè)數(shù)的值。在main函數(shù)中輸入3個(gè)數(shù),調(diào)用exchange函數(shù)實(shí)現(xiàn)3個(gè)數(shù)按大小順序輸出。源程序清單:#include <stdio.h>void exchange(int *pa, int *pb);void main()int a, b,
4、 c;printf("input a b c:");scanf("%d %d %d",&a,&b,&c);if(c>b)exchange(&c,&b);if(b>a)exchange(&b,&a);if(c>b)exchange(&c,&b);printf("%d %d %dn",a,b,c);void exchange(int *pa, int *pb)int temp;temp=*pa; *pa=*pb; *pb=temp;測(cè)試用例:任務(wù)三
5、日期換算 ex02_11.cpp打開程序文件ex02_11.cpp#include <stdio.h>int isLeap(int year);void getDate(int y,int days,int*pm,int *pd);int getDays(int y,int m,int d);int main (void) return 0;/編寫子函數(shù)求某天是該年的幾月幾日 void getDate(int y,int days,int*pm,int *pd)/*y為年份,days為該年的某天,pm指向主調(diào)函數(shù)中存放某天的月值變量, */* pd指向主調(diào)函數(shù)中存放某天的日值變量*
6、/int m,d,i; int day; m= ; /* m:某天計(jì)算后的月值 */ d= ; /* d:某天計(jì)算后的日值 */ *pm= ; *pd= ;/編寫子函數(shù)求某年某月某日是該年的第幾天int getDays(int y,int m,int d) /編寫子函數(shù)判斷閏年。int isLeap(int year) 1要求:(1)編寫子函數(shù)判斷閏年:int isLeap(int year)(2)編寫子函數(shù)求某天是該年的幾月幾日:(3)編寫子函數(shù)求某年某月某日是該年的第幾天(4)main函數(shù)中設(shè)計(jì)步驟驗(yàn)證函數(shù)的正確性2提示(1)求某年某月某日是該年的第幾天思路:累計(jì)從1月到該日期的前一月的每
7、月天數(shù)再加上該日期的天數(shù)。2月份的天數(shù)要判斷閏年。累計(jì)可使用循環(huán)完成也可利用switch語句無break的特性完成。(2)求某天是該年的幾月幾日思路:循環(huán)i從1月開始如果天數(shù)days比第i月的天數(shù)大則天數(shù)days減去第i月的天數(shù)否則結(jié)束循環(huán)。i即為所求月份,days的值為所求日數(shù)。每月的天數(shù)仍需區(qū)分處理。3源程序清單:#include <stdio.h>int isLeap(int year);void getDate(int y,int days,int *pm,int *pd);int getDays(int y,int m,int d);void main () int y,
8、m,d,days; int *pm,*pd;printf("輸入年份和天數(shù):"); scanf("%d%d",&y,&d); getDate(y,d, &m, &d); printf("這天是%d年的%d月%d日n",y,m,d);printf("輸入年月日:"); scanf("%d%d%d",&y,&m,&d); days=getDays(y,m,d);printf("這天是%d年的第%d天n",y,days);/編
9、寫子函數(shù)求某天是該年的幾月幾日 void getDate(int y,int days,int *pm,int *pd)/*y為年份,days為該年的某天,pm指向主調(diào)函數(shù)中存放某天的月值變量, */* pd指向主調(diào)函數(shù)中存放某天的日值變量*/int m,d,i; int day; for(i=1;i<=12;i+) switch(i) case 1: case 3: case 5: case 7: case 8: case 10: case 12:day=31;break; case 2:day=isLeap(y)?29:28;break; case 4: case 6: case 9
10、: case 11:day=30;break; if(days<=day) break; else days=days-day; m= i; /* m:某天計(jì)算后的月值 */ d= days; /* d:某天計(jì)算后的日值 */ *pm= m ; *pd= d ;/編寫子函數(shù)求某年某月某日是該年的第幾天int getDays(int y,int m,int d) int days=0;switch(m-1) case 12:days+=31; case 11:days+=30; case 10:days+=31; case 9:days+=30; case 8:days+=31; case
11、 7:days+=31; case 6:days+=30; case 5:days+=31; case 4:days+=30; case 3:days+=31; case 2:days+=isLeap(y)?29:28; case 1:days+=31; days=days+d;return days;/編寫子函數(shù)判斷閏年。int isLeap(int year) return ( year%4=0&&year%100!=0 | year%400=0 );4測(cè)試用例設(shè)計(jì)任務(wù)四 電費(fèi)計(jì)算 ex02_14.cpp問題描述電力公司根據(jù)如下稅率表進(jìn)行收費(fèi),:第1個(gè)300千瓦時(shí)以每千瓦時(shí)
12、9美分計(jì),下一個(gè) 300千瓦時(shí)(到600千瓦時(shí))以每千瓦時(shí)8美分計(jì),再下一個(gè) 400千瓦時(shí)(到1000千瓦時(shí))以每千瓦時(shí)6美分計(jì),超過1000千瓦時(shí)的電量以每千瓦時(shí)3美分計(jì)。(1) 編寫一個(gè)函數(shù),計(jì)算每個(gè)客戶的總用電費(fèi)用。(2) 寫一個(gè)主函數(shù),讀取數(shù)據(jù)文件用電量.txt中的數(shù)據(jù),調(diào)用計(jì)費(fèi)函數(shù)計(jì)算每一個(gè)客戶的總用電費(fèi)用。將結(jié)果輸出到另一個(gè)數(shù)據(jù)文件用電費(fèi)用.txt。 源數(shù)據(jù)文件由客戶編號(hào)和用電量兩列構(gòu)成,生成的新數(shù)據(jù)文件列出三列:客戶編號(hào)、用電量和總用電費(fèi)用。(3) 程序還要計(jì)算并輸出客戶數(shù)量、總耗電千瓦時(shí)和總的電費(fèi)。源程序清單:#include <stdio.h>int getmon
13、ey(int w);int main () int m,w; FILE *fin; FILE *fout; if(fin=fopen("用電量.txt","r")=NULL) printf("can not open file !"); return -1; if( (fout=fopen("用電費(fèi)用.txt","w")=NULL ) printf("can not open file 用電費(fèi)用.txt!"); return -1; while(!feof(fin) fsca
14、nf(fin,"%d",&w); m=getmoney(w); fprintf(fout,"電費(fèi)=%d",m); fclose(fin); fclose(fout); return 0;int getmoney(int w)int money;if(w<=300)money=9*w;elseif(w<=600)money=300*9+8*(w-300);elseif (w<=1000)money=300*9+300*8+6*(w-600);elsemoney=300*9+300*8+400*6+3*(w-1000);return money;測(cè)試用例:實(shí)驗(yàn)體會(huì)實(shí)驗(yàn)過程評(píng)價(jià):碰到什么問題?如何解決?1.第二次做指針的實(shí)驗(yàn),明顯比第一次熟練了,不過細(xì)節(jié)上的小錯(cuò)誤還是很多。2.三個(gè)數(shù)比大小調(diào)試用例的時(shí)候,發(fā)現(xiàn)最小的數(shù)總在中間不會(huì)跑到最后面去,然后發(fā)現(xiàn)要一共比較三次大小才行,交換后的第一第二個(gè)數(shù)需要重新再比較一次大小才能保證三個(gè)數(shù)一定是降序排列。在編寫天數(shù)中,雖然不報(bào)錯(cuò)但是發(fā)現(xiàn)結(jié)果也不對(duì),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 淮北平原夏大豆增密抗逆優(yōu)高產(chǎn)栽培技術(shù)
- 紅螯螯蝦池塘綠色健康養(yǎng)殖技術(shù)
- 企業(yè)如何數(shù)字化轉(zhuǎn)型物流管理及試題及答案
- CPMP學(xué)習(xí)方法分享試題及答案
- 急性心肌梗死合并消化道出血管理要點(diǎn)2025
- 國際物流師知識(shí)體系的全面探討試題及答案
- 生物分類學(xué)的基本原則試題及答案
- 數(shù)學(xué) 第四冊(cè)(五年制高職) 課件 第二章 立體幾何
- 2025年液體制劑機(jī)械合作協(xié)議書
- 2024年CPSM考試注意事項(xiàng)試題及答案
- 興業(yè)銀行個(gè)人助學(xué)貸款協(xié)議
- 醫(yī)院依法執(zhí)業(yè)培訓(xùn)課件
- 2024年煤礦安全管理人員(掘進(jìn)班組長)考試題庫(濃縮500題)
- 人教版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)第一單元測(cè)試卷附答案(共9套)
- 生物合成薄荷酮的新途徑
- 四年級(jí)語文國測(cè)復(fù)習(xí)試題有答案
- 一年級(jí)道德與法治下冊(cè) 第四單元 我們?cè)谝黄?16 大家一起來教案 新人教版
- 天燃?xì)夤こ坦艿朗┕そM織設(shè)計(jì)及方案2
- 陜西省2024年中考英語真題(A)【附真題答案】
- 2024-2030年中國甜菜收獲機(jī)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 大學(xué)生勞動(dòng)教育概論智慧樹知到期末考試答案章節(jié)答案2024年南昌大學(xué)
評(píng)論
0/150
提交評(píng)論