c語(yǔ)言09年4月沖刺復(fù)習(xí)資料-上機(jī)填空題分析_第1頁(yè)
c語(yǔ)言09年4月沖刺復(fù)習(xí)資料-上機(jī)填空題分析_第2頁(yè)
c語(yǔ)言09年4月沖刺復(fù)習(xí)資料-上機(jī)填空題分析_第3頁(yè)
c語(yǔ)言09年4月沖刺復(fù)習(xí)資料-上機(jī)填空題分析_第4頁(yè)
c語(yǔ)言09年4月沖刺復(fù)習(xí)資料-上機(jī)填空題分析_第5頁(yè)
已閱讀5頁(yè),還剩46頁(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、*第一題目*斑藪如n的期能是,統(tǒng)廿所有小于等于的素?cái)?shù)的個(gè)卦.素?cái)?shù)的小數(shù)作內(nèi)函數(shù)值返叵,請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除使程序得出正確的結(jié)注意:源程序存放在考生文件夾下的3LANKLC中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)I對(duì)應(yīng)的代碼:/*found*/for (j=2 ; j<i; j+)j的初始化要從2開(kāi)始,因?yàn)橐袛嘁粋€(gè)數(shù)字是否素?cái)?shù),就要將他除以從2開(kāi)始的數(shù)字,看有沒(méi)有被整除的。/*found*/if (i%j =0)如果碰到有個(gè)數(shù)字j可以被i整除,那么表break ;示這個(gè)數(shù)不是素?cái)?shù),要用break直接結(jié)束循環(huán),這個(gè)時(shí)候我們的j肯定是小于i的。/*found*/if

2、 (j>=i)j>=i,表示在上面if(i%j=0)沒(méi)有成功,所以會(huì)循環(huán)執(zhí)行for(j=2;j<i;j+),以至最后j>=i,這樣可以知道該數(shù)字i就是素?cái)?shù)count+;printf(count%15?"%5d":"n%5d",i);*第二題目*填空題:函數(shù)Fm的功能是:逆置數(shù)組元素中的值例如若斷指數(shù)組中的數(shù)據(jù)依次為*LN3,4、5.6,九以9、則逆置后依次為:9、X、7.6、5,九3.2.L形參退出藪組中數(shù)據(jù)的個(gè)數(shù)中請(qǐng)?jiān)诔绦虻腇劃線(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)果口“注意;源程序存放在考生文件夾下的BLAM1.

3、C中。不需增行式刪行,也不得更改程序的結(jié)構(gòu)I代碼:uoidfun(inta,intn)<inti,t;/ound*-*/For(i=0;i<1;i+)(t=ai;/某*某*某遙=0unn美,.¥*左耳基呆jai-an-1-2;,找契第契解婆找梨找票found翼區(qū)黑事要算黑里其父3=t;main()<inth9卜。,工4,%5,6.7田,八i;printFCXnTheoriginaldataAn");For(i=0;i<9;prlntf("V*ii",printfC"Xn'J;fun(b,9);printFCAnT

4、liedata口mrinvert:Xn");for(i=0;i<9;1+JpirintF(*'4dMi);printF("n");/*found*/for(i=0;i<n/2;i+)/通過(guò)一次循環(huán)來(lái)實(shí)現(xiàn)將數(shù)組逆置。n/2,循環(huán)的位置,只需要循環(huán)到數(shù)組的中間位置,就可以完成逆置了。t=ai;/*found*/ai=an-1-i;將前面的數(shù)組與后面的數(shù)組進(jìn)行對(duì)換。當(dāng)i=0的時(shí)候,表示是第一個(gè)數(shù)組元素,所以要和最后一個(gè)數(shù)組元素互換,所以是an-1-i/*found*/an-1-i=t;/將前面的數(shù)組元素放到后面去。直接將上面的代碼抄下來(lái)就可以了inc

5、lude tlinclude ttdeFlne typedef char int> STREC;<stdio.h><string.h>H16structnuri10;5;STRECFun(STREC*a,char)mainf)(STREC,<-Gfi0O3,p,76,<'*CA8B2M,fi9),“GA日。年“.85,<"GAGO1*,91>,HGA0O7",72>H,dCA00e-,6>,"GA006",87>,l,GnM5-sB5>:l<"Cn0Jl

6、3l91>H<MCA0Jl2i,6J|,4Cn014"T91>»<"GAB11",77?<"CA017",6":,64,4Gfi016-72>;STRECh;charm16;inti;FILE*out;printFC'TheoriginaldataAn");For(i-Q;1<N;i*)(iF(iu=G)prlntfCAn*);printF("s圖3d",si.numvsi-s);>printFC"nnEnterthenunber

7、:'*);gets(m);h=Fun(s9n);printF(*'Thedata:*');ppintFL、n備三%tidn14,h.numgh.5);printFC',Xn");out=F口pEni"D二、ExHn*、2*ig10中町lit.dal:”,“"以;h=FunCs,"GAC13"FprintF(out,*'5為嶼dn”.h.s);FcloseCout);*第三題目*人員的記錄由編號(hào)和出生年、月、目組成,N名人員的數(shù)據(jù)已在主函數(shù)中存入結(jié)構(gòu)體數(shù)組5td中口函數(shù)fun的助能是:找出指定出生年份的人員

8、,將其數(shù)據(jù)放在形參k所指的數(shù)組中,由主函數(shù)輸出,同時(shí)由函數(shù)值返回滿(mǎn)足指定條件的人數(shù)。請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容用巴下劃線(xiàn)刪除,使程序得出正確的結(jié)果0注意;源程序存放在考生文件夾下的BLANKLC中.不得增行或刪行,也不得更改程序的結(jié)構(gòu)代碼:ttinclude SdeFine typedef int int STU;<stdio.n>NBstructnum;iearfnonth;intfun(STU*5td,5TU#k,intyear)inti,n-0;for(i=a;L<N;i+)iff-1=腳")/*聿*呆*11圣圣一found密圣青逸若興圣圣左簧/kn*y

9、2;oundi*/rtlurn(3);main。(STUstdN=1,1984,2,15),<2,1903,9,21,<3,1984,9,1>,<4,1983,7115,(5,1985.9.28.(6,1982.11,15(7,1982,6t22),<8t198Ut8,19)STUkH;inti,n,卯”;printf("Entera?car;scanf(h,d,hjfcpear);n=Fun(std,kryBar);if(n=0)printf("nNoperson崛5bornin%dXn"jyear);else<printf(

10、*'nThesepersonswerebornin2dn".year);For(i=B;i<in;i+)print?11kxd%d-制d-需drr',k:L.num,ki.year,l(i.nonth,kl-day);分析:intfun(STU*std,STU*k,intyear)inti,n=0;for(i=0;i<N;i+)/*found*/if(stdi.year=year)由于要比較的是相同的年數(shù),所以要將每次循環(huán)的結(jié)構(gòu)體中的year都要比較一次,當(dāng)我們指定的參數(shù)year和我們結(jié)構(gòu)體中某個(gè)元素的year相同的時(shí)候,就執(zhí)行下面的“把這個(gè)結(jié)構(gòu)體數(shù)據(jù)保存

11、到數(shù)組k中”/*麗*/kn+= stdi;要注意,n+,之后那么下次新得到的數(shù)據(jù)就放到了后面,例如,第一個(gè)放到了k0,由于進(jìn)行了n+,那么下次符合條件的新的結(jié)構(gòu)體就放到了k1中了。這里注意:進(jìn)行的是結(jié)構(gòu)體的整體復(fù)制,所以是填寫(xiě)stdi這個(gè)結(jié)構(gòu)體的名稱(chēng)。/* found*return ( n);*根據(jù)題目的要求,是要求返回符合條件的結(jié)構(gòu)的數(shù)目,很多人會(huì)寫(xiě)成n-1,這個(gè)地方應(yīng)該是填寫(xiě)n。帶入法則:假定有一個(gè)符合題目的要求,那么我們知道就執(zhí)行一次kn+=stdi.由于k的初始值是0,所以這個(gè)地方是進(jìn)行n+之后變成了1,返回的就是n,現(xiàn)在為1。不是能n1得到的00第四題目*給定程序中,函數(shù)的功能是:求

12、邦所指字符串?dāng)?shù)組中長(zhǎng)度最短的字符串所在的行下標(biāo),作為函數(shù)值返回,并把其串長(zhǎng)放在形參昕指變量中,史所指字符串?dāng)?shù)組中共有M個(gè)字符串,且串長(zhǎng)請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處埴入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)°注意:源程序存放在考生文件夬下的BLANKLC中口不得增行或刪行,也不得更改程序的結(jié)構(gòu)!代碼:HlllVlUUeSbLU±U.IMttinclude<string.h>ttdeFineM5SdefinN20intfunCchar(*ss)H,int*n)inti,k-0,len*N;/t*-*-Mr*7»r*#fOUind#*«*"*

13、/for(i=0;i<1;i+)<len=strlen(55i);if(i=0)*n=len;/ound*»*/*n)if(len2*n=len;k=i;);/菁景«暑千QUP(j圣圣*霍*/return(main。<charssHH"1''shanghai11/'guangzhou1*fMbe±jIng"t4ltianjing4*f"Chongqing11>:intn,k,i;printF("nTheoriginalstringsare:n");for(i=0;i&

14、lt;M;i+)puts(ssi);k-fun(s5p&n);printFf'XnThelengthofshorteststringis:dn"fn);printF("nTheshorteststringis:sn",ssk);分析:#defineM5#defineN20intfun(char(*ss)N,int*n)inti,k=0,len=N;/*found*/for(i=0; i< M ; i+)題目要求:求字符串?dāng)?shù)組中長(zhǎng)度最短的字符數(shù)用所在的行下標(biāo),所以這里循環(huán)的時(shí)候,一定是循 len=strlen(ssi);if(i=0) *n=l

15、en; /*found*/if(len < *n)環(huán)字符串的個(gè)數(shù),也就是字符數(shù)組中表示存放字符個(gè)數(shù)的數(shù)組的行的個(gè)數(shù)(上課時(shí)強(qiáng)調(diào)的重點(diǎn))這個(gè)地方明顯就是 M ,表示的是五行,作五次 的循環(huán)判斷,每次將字符串最短的給保存下來(lái)。第一個(gè)字符串判斷時(shí)要,初始化len ,注意:*n是已經(jīng)保存了前面判斷出來(lái)的最短的字符串中字符的個(gè)數(shù),len的數(shù)值是現(xiàn)在判斷的這個(gè)字符串的字符個(gè)數(shù)。如果現(xiàn)在len的數(shù)值比前面所有字符串中最短的字符用(*n存放)還要短,那么就要把len的數(shù)值代替*n中去,因?yàn)?n是表示最短的字符串的個(gè)數(shù)。*n=len;k=i;題目要求返回的是最短字符串的行下標(biāo),也就是這里要保存的是循環(huán)的中

16、的i,它表示正在判斷第幾個(gè)字符串的長(zhǎng)度。這里保存的就是最短字符用的行下標(biāo)/*found*/return(i;);所以這里根據(jù)題目意思是返回i,它表示最短字*符串的行下標(biāo)第五題目*程序通過(guò)定義并賦初值的方式,利用結(jié)構(gòu)體變量存儲(chǔ)了一名學(xué)生的信息。函數(shù)比曲功能是輸出這位學(xué)生的信息。請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)果任“注意,源程序存放在考生文件夾下的BLANKLC中.不得增行或刪行,也不得更改程序的結(jié)構(gòu)代碼:ttlncluifle<5tdio-ti>typedeFstruct(intnun;char;charsex;structintyearmonth,

17、day;>birthday;Floatscorp3;>STU:/圣帝*褥圣昔*"*咨帝Fg)UII|(j*和江等*«t*,uoidshou(STU1)inti;printF("nd冢一如一黑H,tt-nun,,tt.test,tt-birthday.year,tt,birthday-northrtt,t)irthd9.da);For(i-0;i<3;i+)/算犯把黑里找髭更算指Found*并累搓黑更m舁林注/prlntFCS.IF",2);printF("n");mai“)STUstd=1/'Z

18、hanghua11,*HB.1961,1B.8,70-5,78.4T82.9;printF("nAstudentdatazXn11);/*番*誨*哥*青低Funnd*邦*訐*/shovj(3);分析:typedefstructintnum;charname9;charsex;float score3;STU;/*found*/structintyear,month,day;birthday;/一個(gè)結(jié)構(gòu)體的定義void show(STU tt)注意:這里是被調(diào)用函數(shù)的行參的考察,我們學(xué)習(xí)的主要是傳地址和傳數(shù)值名稱(chēng)兩種,這個(gè)地方是傳名稱(chēng),看到下面打印的時(shí)候使用的是tt.num,很明顯行參

19、的名稱(chēng)是tt,并且是傳遞的是參數(shù)的名稱(chēng),如果傳遞的是地址,下面的引用應(yīng)該是tt->num.或(*tt).i;printf("n%d%s%c%d-%d-%d",tt.num,,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);for(i=0;i<3;i+)printf("%",/*found*tt.scorei);根據(jù)觀察我們可以發(fā)現(xiàn)該結(jié)構(gòu)體成員中有個(gè)浮點(diǎn)型的score3的成員,這個(gè)地方是通過(guò)循環(huán)依次把這三個(gè)成績(jī)數(shù)出來(lái),所以填寫(xiě)的是tt.scorei

20、,(上課時(shí)強(qiáng)調(diào)如何使用過(guò))。printf("n");main()STUstd=1,"Zhanghua",'M',1961,10,8,76.5,78.0,82.0;printf("nAstudentdata:n");/*found*/show( std );這里填寫(xiě)的是調(diào)用函數(shù),這個(gè)地方是實(shí)參,我們呢可以看到上面定義了一個(gè)結(jié)構(gòu)體變量,std,*所以這個(gè)地方就是填寫(xiě)stdo(toosimply)第六題目*給定程序中已建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,在用鼠nffi數(shù)中符多次調(diào)用Eun函數(shù),每調(diào)用一次Fun函數(shù),輸出鏈表尾部結(jié)點(diǎn)

21、中的數(shù)據(jù),并祥放該結(jié)點(diǎn),使鏈表縮短.請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)果口0注意:源程序存放在考生文件夾下的BLANK1.C中.不得增行或刪行,也不得更改程序的結(jié)苞!代碼:ttdefineN8tjjpedefstructlist<intdata;structlist*npxt;>LIST;UDidfun(SLIET*p)<SL1ST*t,*c:t=p->next;s=p;while(t->nextT=NULL)(/亮得基圣丑在圣翼共得f。und*務(wù)*圣*果無(wú)美美第/t=t->一1一;,黑黑身黑其并其其黑黑found,井*其能基

22、舞是基/prints("虹",2);s->nextHULL;/*w*Found*/3);SL1ST*cretlist(int置a)(SLIST*h,*p,*q;inti;h=p-(SLIST*)malloc(siz&ol=(SLlST>);For(i=fl;i<M;i*)q=(SLlST*)nalloc(siEe(?F(SLIST);q->datatai;p->neKt=q;p=q:p->next=0;returnh:)voidoutlistfSLIST*h)SLIST*p;p=h->neKt;if(p-HULL)print

23、F("nTtielistisHULLT'n);else(printf("XnHed");do(printf("->?,(1"fp->data);p=p->next;while(p?=NULLJ;printFr、>Endn'');3分析:voidfun(SLIST*p)SLIST*t,*s;t=p->next; s=p;兩個(gè)指針,t和sygRMl意,s是在t前面的一個(gè)指針,一/while(t->next != NULL)當(dāng)t沒(méi)有到末尾的時(shí)候(我要大家背了這句話(huà))s=t;/*found*/

24、t=t->next ;這里也是我上課要大家背的,表示將指針往后挪一個(gè)位置。填寫(xiě)的是next/* found*printf(" %d ", t->data );將這個(gè)數(shù)據(jù)輸出,我們知道數(shù)據(jù)域是 data ,所以這個(gè)地方要填寫(xiě)的是t >data.s->next=NULL;/*found*/free( t); s t-匚口由于這個(gè)地方要求把最后一個(gè)節(jié)點(diǎn)給釋放掉,所以這個(gè)地方是把t給釋放掉。畫(huà)個(gè)圖,題目就*很簡(jiǎn)單了。第七題目*給定程序中,函數(shù)fun的功能是e在形參工所指字符串中的每個(gè)數(shù)字字符之后插入一個(gè)*號(hào)。例妝口,形參s所指的字符串為工能£35社

25、北3k詁d£7.執(zhí)行結(jié)果為工def3*5*adh3*kjsdf7*o請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)果.注意,源程序存放在考生文件夾下的BLANKL.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)I代碼:41>IIL;±UUt!ASLU-LI-IIJuoidFun(char*s)inti,j,n;fop(i-c;5i!-1o,;i*+)jfoundW*H4t*/if(si>=-0,15i<=,Ql)<n=0;/OUnd*/whlle(si*1*n*=2_)n*+;for(j=i*n*i;j>i;j一)/¥

26、*»¥»*«*wfound*/3_;占ljT=x;Uti>)rnain()chars80=l,ba3a5cd23a,'printf("nTheoriginalstringis:tsnM,s);fun(s);printf("nTheresultis:sn'*Ss);分析:voidfun(char*s)inti,j,n;for(i=0;si!='0'i+)if(si>='0'/*found*&&si<='9')判斷一個(gè)字符是否為數(shù)字要用到邏輯

27、與&&,這個(gè)是我上課時(shí)候強(qiáng)調(diào)的重點(diǎn)。這里我們要記住用這個(gè)方法判斷字符是否為數(shù)字,請(qǐng)大家記住。n=0;while(si+1+n!=/*found*/'0')n+;這個(gè)地方要注意:這里是要填寫(xiě)到后面的字符不是為0的化,我們就將n進(jìn)行自力口,也就是說(shuō),到si后面的某個(gè)位置當(dāng)他不是為空,我們要把他往后挪。這里的n是得到要挪位的個(gè)數(shù)for(j=i+n+1;j>i;j-)/*found*sj+1= sj把前一位的sj往后挪一位,因?yàn)樵黾恿艘晃蛔址?,所以要往后面挪一個(gè)位置。使得空出的位置sj+1='*'i=i+1;我們寫(xiě)上字符*0跳過(guò)*這個(gè)字符的位置*

28、第八題目*給定程序中,函數(shù)fun的功能是:將MAN矩陣主時(shí)角線(xiàn)元素中的值與反向?qū)蔷€(xiàn)對(duì)應(yīng)位置上元素中的值進(jìn)行交換。例如,若有下列矩陣:1 234 567S9交換后為321456907請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)果。°注意源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)I代碼:ttinclurie<stdio.h>Niivoidfun(int1,intn)inti,5;/«*4*«4*found*/fop(2:i+)片而記】;tli-tin-i-|;/強(qiáng)*.餐*#*/()口口口修弄青

29、弄春贛.,勢(shì)*/tin-l-i=3:nin()<inttH-<21,12,13,24,25,16,47.3B,29,11,32,54,42,21,33,10>B1,j;printfC"nTheoriginalarrayzXn'1);for(i=U;i<H;i->+)< for(j=0;j<N;j+»printF(*dtij);printf;)fun(t.N):printfC"nTheresultis:n'*;far(1=0;i<M;i+)< for(j=>j<H;jfprintf(&

30、#39;Vl'tij>printf("n");分析:#include<stdio.h>#defineN4/*found*/void fun(int (*)tN , intn)從主函數(shù)可知道,傳遞的實(shí)參是一個(gè)二維的數(shù)組名,所以我們應(yīng)該在接收的時(shí)候用樹(shù)上規(guī)定的三種格式即可,這個(gè)地方一定要注意N是在前面已經(jīng)預(yù)定義為了4,所以要用到我們這里的方法。其它寫(xiě)法見(jiàn)樹(shù)上說(shuō)的。要記住二維數(shù)組名是一個(gè)行指針,不是列指針!inti,s;/*found*/for(i=0;i< N ; i+)這里要知道,N是表示的一共有幾行,所以這個(gè)地方實(shí)際上就是要循環(huán) N行來(lái)進(jìn)行處

31、理。每 s=tii;一行都要處理對(duì)角的元素保存對(duì)角的元素tii=tin-i-1;/* found*tin-1-i= s;這個(gè)地方的填空,很簡(jiǎn)單,上課的時(shí)候我要求大家一定把兩個(gè)數(shù)字進(jìn)行互換給背下來(lái),在這地方根據(jù)這個(gè)方法就可以知道填寫(xiě)的一定是 s。(技巧解題目)*第九題目*函數(shù)fun的功能是:把形蓼斯指數(shù)組中的偶數(shù)按原順序依次存放到al,g中,把奇數(shù)從數(shù)組中刪除,偶數(shù)個(gè)數(shù)通過(guò)函數(shù)值返回。例如工若新指藪組中的數(shù)據(jù)最初I例為:9、1、4、2、3、氏5.8.7,刪除奇數(shù)后自所指數(shù)組中的數(shù)據(jù)為0取2,6.&返回值為h請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)果,注意:源程序

32、存放在考生文件夾下的斑廊1.C中。不得增行或刪行.也不得更改程序的結(jié)構(gòu)代碼:linclude<5tdio.ti>Ad電包neH9intfun(inta,Intn)(inti,j;if(1=0)<2=il;j+;)/»#*»#*»#»*foun(1*/return3;>nain()(intbti=<9,1,4f2t3,6,5f8,7>Ti,n;prlntfCAnTheoriginaldata:n");for(i=fi;i<H;i+)prlntf('"4d",b1);prlntf

33、("Xn");n=fun(b,N);prlntfC'XnThenumberofeuen:n);prlnt-f(*An1he。如2n:n*');for(i=0;i<n;i+)printf('"Ud",bi);prlntfC'ii");分析:#defineN9intfun(inta口,intn)函數(shù)的行參是一個(gè)數(shù)組,可以看成一個(gè)指針inti,j;j=0;for(i=0;i<n;i+)/*found*/if(ai%2=0)判斷一個(gè)數(shù)字是否為偶數(shù),上課我們強(qiáng)調(diào)了是考試的重點(diǎn),這里要求判斷數(shù)組每個(gè)數(shù),所以根據(jù)循

34、環(huán)我們知道填寫(xiě)的應(yīng)該為ai%2。請(qǐng)大家記?。号袛嘁粋€(gè)數(shù)字是偶數(shù),是ai%2=0。對(duì)2整除等于0的數(shù)字一定是偶數(shù)。/*found*Aj=ai;j+;要求當(dāng)這個(gè)數(shù)組是偶數(shù)的時(shí)候,我們就要保存好,所以在這個(gè)地方,我們要填上的是aj.注意到這個(gè)地方,我們的j是從0開(kāi)始的,每次填寫(xiě)一個(gè)后,我們的j+一次,這樣是便于存放下一個(gè)偶數(shù)。/*found*/returnj;這里返回的是偶數(shù)的個(gè)數(shù),所以我們填寫(xiě)的是j,這個(gè)地方不是j+1或者是j1,我們可以通過(guò)代入法進(jìn)行驗(yàn)算。由于上面每次存放一個(gè)偶數(shù)都要進(jìn)行一次j+,所以,即使后面沒(méi)有偶數(shù)了,我們也進(jìn)行了j+,所以就直接就是填寫(xiě)jo(上機(jī)??碱}目)如果是只有一個(gè)偶數(shù)

35、,那么我們就知道也要執(zhí)行一次j+,j從0變成了1,正好是返回一個(gè)。*第十題目*函數(shù)fun的功能是:把形參新指數(shù)組中的奇數(shù)按原順序依次存放到&91、al、a2L中,把偶數(shù)從數(shù)組中刪除,奇數(shù)個(gè)數(shù)通過(guò)函數(shù)值返回。例如.若新指數(shù)組中的數(shù)據(jù)最初排列為;9、L4、23.以取&%刪除偶數(shù)后a所指數(shù)組中的數(shù)據(jù)為:9、LM5、7,返回值為k請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)果Q,注意,源程序存放在考生文件夾下的5LANKLC中,不得增行或刪行.也不得更改程序的結(jié)構(gòu)!代碼:ttinclude<stdlo_ti>ttdeFineN9intFunCinta,

36、intn;<inti.j;j=:FrC1=0;i<n;i*)/掘墓*其某旅基*其F口undi>«*«/iFCai2=1)(/裳其m圣其裳圣其扎其。oundlj=3i;2,;)舁“其舁擾算舁概舁口und契算集展第必檢必契算,return3;)nain()IntbH-9,1,A,2,3,6,5,B,7,i,n;printfC'SnTheoriginaldata:n");For(1-0;i<N;i*>printf"峪加'bi);printF("nR,);n=Funfb,N);printfCAnTtienu

37、nberofodd;常Dn".n);printFC'AnTtieoddnumber:W);ForCi_0;i<n;i+*)printfCUdbiJ:printfCbAnb,);分析:#defineN9intfun(inta口,intn)inti,j;j=0;for(i=0;i<n;i+)/*found*/if (ai%2 = 1 )這個(gè)題目非常的簡(jiǎn)單,和前面一個(gè)題目很類(lèi)似。首先判斷一個(gè)數(shù)字是否為奇數(shù),那么很快我們就知道判斷一個(gè)數(shù)字是否為奇數(shù)是,ai%2=1就是奇數(shù)了。/*found*aj=ai;j+;如果是奇數(shù)就要把他給存放起來(lái),這個(gè)地方j(luò)是初始化為0,每次存放一

38、個(gè)奇數(shù),我們就要將j進(jìn)行一次自加,便于存放下一個(gè)奇數(shù)。/*found*/returnj;j就是我們要返回的奇數(shù)的個(gè)數(shù),由于,每次存放一個(gè)奇數(shù)后,我們都會(huì)進(jìn)行j+,所以在返回的時(shí)候就不用返回j+1了。*第十一題目*給定程序中,函數(shù)的功能是:統(tǒng)計(jì)形參w所指字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放在形參所指的變量中,最后在主函數(shù)中輸出.例如,形參包所指的宇符串為:abcdef35adgh3kjsdf7輸由結(jié)果為:弘請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容荊巴下劃線(xiàn)刪除,使程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的ELANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)I代碼:ttinclude<s

39、f<lio.h>uoidFun(chor,int)inti,n;n-B;*/*=WULL;i+)2 ) n + +;/靜舒黃舞甘環(huán)舞青青親干un口青木青春青蓊射拜青者/幃*景0und果果果線(xiàn)能呆呆聚3:mainf)<chars80=,*abcdeF35-adgti3kjsdF7h,;intt;printf("XnTtieoriginalstringis:%sn",s);Fun(s;prlntfC'XnTheresultIs:XdAn't);分析:#include<stdio.h>voidfun(char*s,int*t)inti

40、,n;n=0;/*found*/for(i=0; si !=NULL; i+)循環(huán)的時(shí)候,第二個(gè)是判斷的條件,這個(gè)地方要判斷字符是否已經(jīng)到字符串的末尾了,所以我們可以看到這個(gè)地方我們函數(shù)的第一個(gè)行參是char*s,這個(gè)地方指針可以當(dāng)作數(shù)組使用,所以這個(gè)地方可以填寫(xiě)的是si活著是*(s+i)/*found*/if(si>='0'&&si<='9')n+;判斷一個(gè)字符是否為數(shù)字,是要求大家定牢牢記住的,這個(gè)地方不再多講。/*found*return *t = n;這個(gè)return后面填寫(xiě)的語(yǔ)句是比較有特色 的,是一個(gè)賦值語(yǔ)句,題目要求把字

41、符竄中數(shù)字 的個(gè)數(shù)放到指針參數(shù)t中,所以應(yīng)該填寫(xiě)這個(gè)答 案,由于調(diào)用函數(shù)第二個(gè)傳遞的是地址,所以我 們接收的時(shí)候采用的是指針to*第十二題目*人員的記錄由編號(hào)和出生年、月,日組成評(píng)名人員的數(shù)據(jù)已在主函數(shù)中存入結(jié)的體數(shù)組mtd中,且編號(hào)唯一。函數(shù)fun的功能是;找出指定編號(hào)人員的數(shù)據(jù),作為函數(shù)值返回“由主函數(shù)輸出,若指定編號(hào)不存在,返回?cái)?shù)據(jù)中的編號(hào)為空申,請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正期的結(jié)果,"注意;源程序存放在考生文件夾下的BLAM1,C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)1代碼:Itinclud9<stdio.h>ftliicllid

42、e<strlnyJi>ttdefineH8typedefstruct<chdriiuii10;intjiear.month.dau:>STU;¥睪Tf*Fqund圣署符*殍*圣/1fun(STU*5tti,char*nun)<一int_1;苫tud=L,9f叫9yforCi=B;i<H;i+)*務(wù)長(zhǎng)署*ound*»*lf(btrcii|j(2tniiii)=c)nd*/return(3);returnd;main()<STUsLdNJ=<111111984,215),.*222222”,19g3,g.2l,(*333333”,

43、11,m441|4埋”.1蜘3.7.佑.”55555“J9"66H.i983Ji,15P,777777",1983i61221,¥888888m,1984,8,19;STUp;cnarn1e='CGCftOO*'p=fur)(std,n):IF(p.nunOh=iB)printf("nNotFound;elseprintf("nSucceedfn");prlntFCs“一如一tow,p>nunBp.year,p.noatn>p.day);分析:#include<string.h>

44、;#defineN8typedefstructcharnum10;intyear,month,day;STU;/*found*/STU fun(STU *std, char *num)返回的類(lèi)型應(yīng)該是結(jié)構(gòu)體類(lèi)型,這個(gè)地方是??嫉念}型,類(lèi)似于返回int類(lèi)型等,只是把結(jié)構(gòu)體類(lèi)型看成一個(gè)類(lèi)型!inti;STUa="",9999,99,99;for(i=0;i<N;i+)/*found*if(strcmp(stdi.num,num)=0)要判斷每個(gè)結(jié)構(gòu)體元素的的num是/*found*/return (stdi);否與我們指定的num相同。要注意我們傳遞過(guò)來(lái)的是結(jié)構(gòu)體的數(shù)字,

45、所以每個(gè)元素都要判斷。由于該函數(shù)要返回的是一個(gè)結(jié)構(gòu)體變量,所以要把這個(gè)符合要求的結(jié)構(gòu)體元素返回,所以這個(gè)地方要返回的是結(jié)構(gòu)體名稱(chēng)。returna;*第十三題目*給定程序的功能是;從鍵盤(pán)輸入若干行文本(每行不超過(guò)80個(gè)字符).寫(xiě)到文件叫玨1皿山也用-1作為字符串輸入結(jié)束的標(biāo)志。然后將文件的內(nèi)容讀出顯示在辟幕上*文件的讀寫(xiě)分別由自定義函數(shù)ReadText和林江打舊實(shí)現(xiàn)。請(qǐng)?jiān)诔毯蟮南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)注意二源程序存放在考生文件夾下的BLA1IKL。中.不得增行或刪行,也不得更改程序的結(jié)構(gòu)代碼:<stdiib.h>tincludeftinc1udeiti

46、nc1udevoidWriteText(FILE指);uoidRead!PXt(FILE*):nain()FILE*Fp;iF(FpFopeft(,nyFLl?U.tKt,P"u,">>=NULL>ppintF(u叩”Aims”);ejeitfB>Wrlterext(Fp);fC105P(fp);iF(fp=-Fopert(,BnyFileli.tKt,iBr,B>>=NULL)printf(uopen0);ReadText(Fp);Fcloseffp);)/»黑*號(hào)集*粵東*-found圣整黑旌出花娃矍««

47、/voidWriteTextfFlLEchrstr81;printf("XnEnterstringuith-1toend:n");gets(str);wtiiie(strcnp(5trt=0)fputs(2,Fw);Fputs("n'Fw);gets(str);>voidReadText(FILE*fr)<charstr81;printff"Xrifieadfileandoutputtoscreenzn'1J;Fgets(str,B1,Fr);tihile(?feoF(Fr)/«-*oud*«¥*

48、¥fgets(strf81,Fr);分析:(文件的考察)/*found*/void WriteText(FILE *fw )這個(gè)地方是填寫(xiě)的是文件指針,這個(gè)填空題目很單一話(huà),只要求大家認(rèn)真的記住這個(gè)文件指針。charstr81;printf("nEnterstringwith-1toend:n");gets(str);while(strcmp(str,"-1")!=0)/*found*/fputs( str ,fw);fputs("n",fw);把輸入的內(nèi)容寫(xiě)道了文件當(dāng)中。這個(gè)也是要求大家記住的。看網(wǎng)上課堂詳細(xì)講了這幾個(gè)文件

49、的函數(shù)處理的方法。gets(str);void ReadText(FILE*fr)charstr81;printf("nReadfileandoutputtoscreen:n");fgets(str,81,fr);while(!feof(fr)/*found*/printf("%s", str );這個(gè)是文件的讀出處理, 這個(gè)也是要求大家自己背在網(wǎng)上課堂中,文件中動(dòng)的內(nèi)容已經(jīng)講的很清楚了。fgets(str,81,fr);*第十四題目*給定程序中,函數(shù)fun的功能是;有NMN矩陣,根據(jù)給定的m(正二N)值.將每行元素中的值均右移m個(gè)位置,左邊置為0。例如

50、,旭3,樂(lè)乙有下列矩陣1 234 E67 S3程序執(zhí)行結(jié)果為8 。19 。410 。T請(qǐng)?jiān)诔绦虻南聞澗€(xiàn)處填入正確的內(nèi)容并把下劃線(xiàn)刪除,使程序得出正確的結(jié)果,注意:源程序存放在考生文件夾下的BLAM1.C中.不得增行或刪行.也不得更改程序的結(jié)構(gòu)代碼:tti_nclude<stdlo.h>4tdefineN4uoidFunfint(*t>N,Intn)<inti,j;/好*署*幅*把itfound署,若*號(hào)署稈瓊衰/For(i=tt;i<N;1)far(j)ound*/«t*e*je*oundl*«*/For(j=B;j<3p)aln()i*

51、 j, n;inttN-<21,12,13,24t25.1fif47.38,29.11132,54,42*21,33,10,printF(*AnTheoriginalarray:Xn">For(i=O;i<N;i+)for(j=0;j<N;j+)primtF(*'2d,ftij);printFCn'*);printff"Inputn<n<d>:"tN);scanf<"d".Rn);Fun(t,m);printFCnlheresultis:n"):For(i-O;i<

52、N;i+)<for(j=0;j<N;j+)printF(t2d,、七:printF("n");分析:#include<stdio.h>#defineN4void fun(int(*t)N, int m) int i, j;/* found*for(i=0; i<N; i+ ) for(j=N-1-m; j>=0; j-)這空很簡(jiǎn)單,我們上課的時(shí)候強(qiáng)調(diào)過(guò)一定要記住for循環(huán)的三個(gè)部分,這個(gè)地方,就是要記住將i進(jìn)行自加,那么由于是每行都處理,所以這個(gè)地方是自加1。這個(gè)循環(huán)是表示右移多少個(gè)位置。/*found*/tij+m=tij;可以通過(guò)代入法進(jìn)行解題目,實(shí)際的意義是把前面的元素放到后面來(lái)進(jìn)行保存,前面的元素后面會(huì)將其覆蓋為0,后面

溫馨提示

  • 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)論