C程序設計上機試驗報告12_第1頁
C程序設計上機試驗報告12_第2頁
C程序設計上機試驗報告12_第3頁
C程序設計上機試驗報告12_第4頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、n=31C 程序設計實驗報告實驗名稱:結(jié)構(gòu)程序設計學時安排:2 課時實驗類別:上機操作型實驗要求:1 人 1 組一、實驗目的1.掌握結(jié)構(gòu)變量的基本使用方法;2.掌握結(jié)構(gòu)數(shù)組的基本使用方法;3.掌握結(jié)構(gòu)的簡單嵌套應用;4.掌握結(jié)構(gòu)指針的概念,以及結(jié)構(gòu)指針作為函數(shù)參數(shù)的編程方法。二、實驗設備介紹軟件需求:Visual C+ 6.0或CFree3.5以上版本硬件需求:對于硬件方面的要求,建議配置是Pentium III 450以上的CPU處理器,64MB以上的內(nèi)存,200MB的自由硬盤空間、CD-ROM驅(qū)動器、能 支持24位真彩色的顯示卡、彩色顯示器、打印機。三、實驗內(nèi)容1.定義一個關于年、月、日的

2、結(jié)構(gòu),并編寫函數(shù)計算某日是該年中的第幾天?要求用結(jié)構(gòu)指針作為函數(shù)參數(shù),注意閏年問題。以下部分程序供參考,可自行改動:struct date/*日期結(jié)構(gòu)體:包含年月曰*/int year;int mon th;int day;void dayofyear(struct date *pday);int main( void)struct date temp,*pday;pday=& temp;/*請?zhí)砑?/2運行結(jié)果示例如下:In put year、month and day: 2006 3 5642.改正程序error09_2.cpp中的錯誤。建立一個有n ( 3到10之間)個學生成績的

3、結(jié)構(gòu)記錄, 包括學號、姓名和3門成績,輸出總分最高的學生姓名和總分。輸入輸出結(jié)果如下所示:1 zha ng 78 83 752 wang 76 80 773 she n 92 88 78總分最高的學生是:shen, 258分要求把正確的代碼(按規(guī)范縮進)寫入報告,并以注釋的方式說明錯誤原因。 注釋示例如下:int i;/*循環(huán)控制變量不能定義為double類型*/3.編寫一程序,計算兩個時刻之間的時間差,并將其值返回。時間以時、分、秒表示,假 設兩個時刻的差小于24小時。(此題選做)提示:先輸入兩個時間,然后比較兩個時間的大小,用大的減去小的。時間相減從秒開始, 如果負數(shù)則需位,再減分,最后減

4、小時。四、程序清單第一題#i ncludeint main()int result;struct riqiint year;int mon th;int day;date;printf(Input year、month and day:);scan f(%d%d%d,&date.year,&date.mo nth,&date.day);int day_of_year(i nt year,i nt mon th,i nt day); result=day_of_year(date.year,date.m onth,date.day); prin tf(%dn,result

5、);return 0;int day_of_year(i nt year,i nt mon th,i nt day)int k,leap,yearday;inttab213=0,31,28,31,30,31,30,31,31,30,31,30,0,31,29,31,30,31,30 ,31,31,30,31,30;leap=(year%4=0&year%100!=0)|year%400=0; yearday=0;3for(k=1;k mon th;k+)yearday=yearday+tableapk; yearday=yearday+day;retur n yearday;第二題#i

6、nclude int main (void)struct studentint number;char name20;int score3;int sum;struct student student20;/*定義記錄20個學生信息的結(jié)構(gòu)數(shù)組*/int i, j, k, n, max=0;printf(輸入n:);scanf(%d,&n);for (i = 0; i n; i+)printf(輸入第d個學生的學號、姓名和3門成績:,i+1);/*輸入第i+1個學生*/studenti.sum=0;/*將成績和初始化*/scanf(%d%s, &studenti.number,

7、&);for(j = 0; j 3; j+)scanf(%d, &studenti.scorej);studenti.sum += studenti.scorej;max = student0.sum;for(i = 0; i n; i+)if(max studenti.sum)max = studenti.sum;k = i;printf(總 分 最 高 的 學 生 是: %s,%d分n, , studentk.sum);return 0;第三題#include struct timeint hour;int minute;

8、4int second;5;void mai n()struct time time1,time2;int timestart,timee nd,hours, minu tes,secon ds; printf(輸入起始時刻:);scan f(%d:%d:%d,&time1.hour, &time1.mi nute, &time1.seco nd); printf(輸入結(jié)束時刻:);scan f(%d:%d:%d,&time2.hour, &time2.mi nute, &time2.seco nd);timestart=time1.hour*3

9、600+time1.mi nute*60+time1.seco nd; timeend=time2.hour*3600+time2.mi nute*60+time2.seco nd; hours=(timeend-timestart)/3600;mi nu tes=(timee nd-timestart-3600*hours)/60;seco nds=timee nd-timestart-3600*hours-60*mi nu tes;printf(兩時刻相差:%d小時諭4秒n,hours,minutes,seconds); return 0;五、運行結(jié)果第一題Input year month and3 564Press any key to continue.第二題第三題l|:12:35:56Jl:15:4?:12:3小時1加6秒keu to continue 六、頭驗心得寫結(jié)構(gòu)的程序題時,注意結(jié)構(gòu)定義以及結(jié)構(gòu)名。

溫馨提示

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

評論

0/150

提交評論