《C語(yǔ)言程序設(shè)計(jì)》教材習(xí)題答案第9章_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》教材習(xí)題答案第9章_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》教材習(xí)題答案第9章_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》教材習(xí)題答案第9章_第4頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》教材習(xí)題答案第9章_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、選擇題1、若已經(jīng)定義“structStU{inta,b;}student;",則下列輸入語(yǔ)句中正確的是D)scanf(ζζ%d,?<fcstudent.a);2、若已有以下結(jié)構(gòu)體定義,則值為2的表達(dá)式是A)c[O].y:Stmctcmplx{mtX:mty;}c[]={l,2,3,4}:3、設(shè)有如下程序段,則vu.a的值為D)A、B、C都不是unionu{Inta;mtb;floatc;}vu;vu.a=l;vu.b=2;vu.c=3;4、設(shè)已經(jīng)定義“unionu{chaιa;mtb;}vu;”在VC中存儲(chǔ)c?ar型數(shù)據(jù)需要1個(gè)字節(jié),存儲(chǔ)Int型數(shù)據(jù)需要4個(gè)字節(jié),則存儲(chǔ)變量VU需要B)4個(gè)字節(jié)5、設(shè)已經(jīng)定義"unιonu{inta;intb}vu={l,2};“,則D)該定義錯(cuò)誤6、設(shè)有定義“enumdate{yeaι?month,day}d;”則卜列敘述中正確的是A)date是類(lèi)型、d是變量、yeaι是常量7、設(shè)有定義“enumdate{yeaι,month,day}d;”則正確的表達(dá)式是B)d=year8、若已經(jīng)定義了“typedefstructstu{inta,b}StUdent;”則卜列敘述中正確的是C)StUdent是結(jié)構(gòu)體類(lèi)型9、下列有關(guān)typedef語(yǔ)句的敘述中,正確的是C)typedef語(yǔ)句用于給已定義類(lèi)型取別名二、編程題1、設(shè)計(jì)一個(gè)通訊錄的結(jié)構(gòu)體類(lèi)型,并畫(huà)出該結(jié)構(gòu)體變量在內(nèi)存中的存儲(chǔ)形式StlllCt{namechar[10];telephoneclιar[20];addresschaι[100];);name占10個(gè)字節(jié)telephone占20個(gè)字節(jié)address占100個(gè)字節(jié)2、用結(jié)構(gòu)體變量表示平面上的一個(gè)點(diǎn)(橫坐標(biāo)和縱坐標(biāo)),輸入兩個(gè)點(diǎn),求兩點(diǎn)之間的距離?iιιclude<stdιo.h>#include<matlι.h>voidmain()(StmctPomt{floatx;floaty;}a,b;Pnntfr輸入點(diǎn)a的橫坐標(biāo):?ιΓ);SCanfC%f',&a.x);Pnntf(”輸入點(diǎn)a的縱坐標(biāo):?ιΓ);SCanfC%f',&a.y);Pdntfc輸入點(diǎn)b的橫坐標(biāo):?ιΓ);SCanfV%f',&b.x);PdntfC輸入點(diǎn)b的縱坐標(biāo)Xr);SCanfV%f',&b.y);Pnntf(Ma、b兩點(diǎn)之間的距離為:%f?nii,sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)));)3、用結(jié)構(gòu)體變量表示口期(年、月、口),任意輸入兩個(gè)口期,求它們之間相差的天數(shù)?iιιclude<iostreaιn>?iιιclude<stdιo.h>usingnamespacestd;^defineDAY_OF.YEAR365〃一年的天數(shù),當(dāng)為閏年時(shí)需要另外操作〃口期結(jié)構(gòu)體typedefstnictdate(intvea?-;intmonth;i?itday;mtday_of_year;//該口為該年的第幾天}DATE.*DATE_P;〃函數(shù)聲明boolconipeai(DATE_Pmax,DATE_Pmin);mttitoal(DATE-Pdate);boolleap-yeaι(constmtyear);mtftιntιon(DATE-Pnιax,DATE_Pmin);〃主函數(shù)voidmain()DATEdate1,date2;DArE_Pmax,nun;

intresult;〃輸入的兩個(gè)口期//maX指向大口期,mm指向小口期〃數(shù)據(jù)輸入Pnntfr請(qǐng)輸入日期1的數(shù)據(jù)項(xiàng),年月日間用空格閣開(kāi):?n'?);SCanf("%d%d%cΓ,&date_l.yeai;&date_l.month.&date_l.day);Pnntfr請(qǐng)輸入日期2的數(shù)據(jù)項(xiàng),年月日間用空格閣開(kāi):?n'?);SCanf("%d%d%d”,&date_2.yeai;&date_2.month.&date_2.day);〃數(shù)據(jù)處理if(!ComPUaiQnaX=&date_l,inin=&date_2)) 〃比較口期大小,不需要交換result=fυntιon(max,nιiιι);else 〃需要交換result=fυntιon(nun,max);〃結(jié)果Pnntf(M兩日期間相差的天數(shù)為:%d\n”,result);〃比較兩口期的大小boolconipeai(DATE_Pmax,DATE_Pmin)〃max的口期小于mm的口期,口期對(duì)調(diào)

if((nιax->year<nun->year))return1;elseif((max->year=nun->year))(if((max->month<nιuι->month))return1;elseif((max->month=ιnπι->month))

if((max->day<nun->day))return1;)//max的年份小于ιnin//max和ιιιin的年份相同//max的月份小于Iiun//max和mill的月份相同

//max的□小于nun〃其他情況滿(mǎn)足max的口期大于(等于)min,口期保持不變r(jià)eturn0;〃計(jì)算相差天數(shù)mtftιntιon(DATE-Pnιax,DATE_Pmin)(〃年份相同,相差天數(shù)為大口期減小口期if(max->yeaι?==nmι->year)〃計(jì)算大口期nιax->dayβoflyear=titoal(max);〃計(jì)算口期函數(shù)if(leap-year(max->year)) 〃如果為閏年if((max->month==2&&max->day==29)∣∣max->month>2)max->day-of.yeaι?++;〃計(jì)算小口期nuιι->da‰oflyear=titoal(ιnιιι);if(ieap-year(nιin->yeaι)) 〃如果為閏年if((nιiιι->montlι==2&&nιhι->day==29)∣∣nun->month>2)nuii->day_of_year++;〃返回相差天數(shù)returnmax->day-of,yeaι-nun->day_of_year;}〃年份不同,相差天數(shù)為max、mm剩余天數(shù)和之間年的天數(shù)總和mtmax-year,nιiιvyeaι;OtheLyear=0;〃計(jì)算大口期max->da‰oflyeaι?=titoal(max);if(leap-yeaι(nιax->year)) 〃如果為閏年if((nιax->montlι==2&&nιax->day==29)∣∣max->month>2)nιax->day.ofLyear++;max-year=niax->day_of.year;〃計(jì)算小日期niui->day_of.yeai=titoal(miιι);if(ieap-yeaι(nιiιι->yeaι)) 〃如果為閏年if((nιiιι->month==2&&nuιι->day=29)∣∣nιiιι->month>2)nιiιι->dayβofLyear++;milLyear=DAYeOFeYEAR-niiii->day_of,year;〃剩余的天數(shù)if(leap-yeaι(nmι->yeaι)) 〃如果為閏年天數(shù)加1nwιβyear++;〃計(jì)算之間的口期i?itVeaI;f?ι(yeaι?=nιiιι->year+1;year<nιax->yeaι;year++)OtheLyeaI+=DAY_OF_YEAR+leap_yeat(year);〃一年的天數(shù),并考慮是否為閏年〃返回總天數(shù)returnmax_year+ιnιn-yeaι?+otheι-year;)〃計(jì)算某口該年的第幾天,閏年也按平年處理mttitoal(DATE-Pdate)mtresult=0; //最后結(jié)果inti; 〃標(biāo)記月份foι(i=l;i<date->month;i++) 〃計(jì)算以過(guò)月份的天數(shù)(switc?(i){case1:case3:case5:CaSeIo:result+=31;break;〃大月31天,注:12月不會(huì)出現(xiàn),所以忽略不寫(xiě)case4:case6:case9:caseIkresult+=30;break;〃小月31天default:?esult+=28; /∕2月28天}}ιetυιnresult+=date->day; 〃加上本月天數(shù)既為最后結(jié)果)〃判斷某年是否為閏年,若是返回1,否則返回0boolleap-yeaι(constIntyear)(if((!(yeaι%4)&&yeaι%100)∣∣!(yeaιx?400))return1;return0;}4、用結(jié)構(gòu)體變量表示復(fù)數(shù)(實(shí)部和虛部),輸入兩個(gè)更數(shù),求兩復(fù)數(shù)之積?iιιclude<stdιo.h>Stmctcom{intreal;intim;);voidmain()Stiiictcoma.b,c;Stmctcomcmult(stmctcomCreaI,structcomcim);mti,j;Pnntf(”輸入兩個(gè)更數(shù)的實(shí)部和虛部:”);scanf(H%d%d%d%d,\&a.real.&a.iiiL&b.real,&b.im);c=cmult(a,b);PlintfVI乘積為:%d+%dι",c.realx.un);)Stmctcomcmult(stmctcomcreal,structcomciιn) ∕*求乘積的函數(shù)*/(Stmctcoma;a.real=cieal.real*cim.real-cieal.mi*cim.im;a.iιn=cιeal.ιeal*cim.un+creal.im*ciιn,real;retum(a);}∕*設(shè)復(fù)數(shù)為a÷bι和c÷dι,那么和為:(a+c)+(b+d)ι,乘積為:(ac-bd)+(ad+bc)ι。*/5、有20個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)(num)、姓名(name)、性別(sex)、5門(mén)課程成績(jī)(score[5])o要求編寫(xiě)一個(gè)程序,輸入學(xué)生數(shù)據(jù),計(jì)算并輸出每個(gè)學(xué)生的總分和平均分。#iiiclude<stdιo.h>存defineN2voidmaιn()(Stnictstudent{mtnum;chaιname[10];chai-sex[10];mtscoιe[5];mtsum;floataverage;};Stmctstudentstυ[N],s;intij;fbi(i=O;i<N;i++){stυ[ι].sum=0;stυ[ι].average=O;Plintfv'pleasescanfnumnamesexscore(l)score(2)scoιe(3)score(4)score(5)?ιιπ);scaιιf(,,?d%s%s,?<Srstu[i].num,stu[ι].naιιιe,stu[ι].sex);for(j=0j<5λj++)scanf(π%d,?(fcs?ι[ι].score[j]);s?ι[ι].sum÷=stu[ι].score?];)stu[ι].average=stυ[i].sunr,5.0;}fbr(i=0*<Nj++){Pnntf("numnamesexscoιe(l)score(2)score(3)score(4)score(5)sumaverage's");PrmtfV'%d%s%s”,stυ[i].nun‰stu[i].name5stu[i].sex);for(j=0j<5λj++)(priιιtf(,,%d,?stu[i].score[j]);)PrintfV'%d",stu[i].sum);PrintfV'%f",stu[i].average);PnntfV\n");}}6、箱子中有若干個(gè)紅、黃、白3中顏色的小球,每次從中取出2個(gè),求得到兩種不同顏色的小球的可能情況,并輸出每種顏色組合(使用枚舉類(lèi)型)#include<stdιo.h>#include<stπng.h>voidmain()(enuπιColor{RedsYellow,White};enuπιColori,j;fbr(i=Red;i<=Wlii

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論