版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷25(共9套)(共9題)國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第1套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位)、產(chǎn)品名稱mc(字符型10位)、單價dj(整型)、數(shù)量sl(整型)、金額je(長整型)五部分組成。其中;金額一單價*數(shù)量計算得出。函數(shù)ReadDat()是讀取lOO個銷售記錄并存人結(jié)構(gòu)數(shù)組sell中。請編制函數(shù)SortDat(),其功能要求;按金額從小到大進(jìn)行排列,若金額相等,則按產(chǎn)品代碼從小到大進(jìn)行排列,最終結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WriteDat()把結(jié)構(gòu)輸出到文件OUTl.DAT中。注意;部分源程序已給出。請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。試題程序;#include#include#include#include#defineMAX100typedefstruct{chardm[5];//產(chǎn)品代碼charme[11];//產(chǎn)品名稱intdj;//單價intsl;//數(shù)量longje;//金額}PRO;PROsell[MAX];voidReadDat();voidWriteDat();voidSortDat(){}voidmain()(memset(sell,0,sizeof(sell));ReadDat();SortDat();WriteDat();}voidReadDat(){FILE*fp;charstr[80],ch[11];inti;fp=fopen("IN.DAT","r");for(i=0;i<100;i++){fgets(str,80,fp);memcpy(sell[i].dm,str,4);memcpy(sell[i].mc,str+4,10);memcpy(ch,str+14,4);ch[4]=0;sell[i].dj=atoi(ch);memcpy(ch,str+18,4);ch[4]=0;sell[i].sl=atoi(ch);sell[i].je=(10ng)sell[i].dj*sell[i].sl;}fclose(fp);}voidWriteDat(){FILE*fp;inti;fp=fopen("OUTl.DAT","w");for(i=0;i<100;i++){printf("%s%s%4d%5d%51d\n",sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);fprintf(fP,"%s%s%4d%5d%51d\n",sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);}fclose(fp);}標(biāo)準(zhǔn)答案:inti,j;PR0xy;for(i=0;i<99;i++)for(j=i+1;j<100;j++)if(sell[i].je>sell[j].je//如果產(chǎn)品i的金額大于產(chǎn)品j的金額||(sell[i].je==sell[j].je//如果產(chǎn)品i的金額等于產(chǎn)品j的金額&&strcmp(sell[i].dm,sell[j].dm)>0))//如果產(chǎn)品i的產(chǎn)品代碼大于產(chǎn)品j的產(chǎn)品代碼{memcpy(&xy,&sell[i],sizeof(xy));memcpy(&sell[i],&sell[i],sizeof(xy));memcpy(&xy,&sell[i],sizeof(xy));}//產(chǎn)品i和產(chǎn)品j交換知識點解析:本題主要考查數(shù)組的排序操作。算法思路;1.結(jié)點與后面的所有j結(jié)點比較,若符合條件則交換i、j結(jié)點位置。2.然后后移i結(jié)點,執(zhí)行步驟1直到i結(jié)點是倒數(shù)第二結(jié)點為止。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第2套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、函數(shù)ReadDat()的功能是實現(xiàn)從文件ENG49.IN中讀取——篇英文文章,存入到字符串?dāng)?shù)組xx中。請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中所有字符進(jìn)行替代,仍存入數(shù)組xx的對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件PS49.DAT中。替代關(guān)系:f(p)=p*11mod256(p是數(shù)組xx中某一個字符的ASCII值,f(p)是計算后新字符的ASCII值),如果原字符是大寫字母或計算后f(p)的值小于等于32,則該字符不變,否則將f(p)所對應(yīng)的字符進(jìn)行替代。注意:部分源程序已給出。原始數(shù)據(jù)文件的存放格式是:每行的寬度均小于80個字符。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和寫函數(shù)WriteDat()的內(nèi)容。試題程序:#include<conio.h>#include<stdio.h>#include<string.h>#include<ctype.h>unsignedcharxx[50][80];intmaxline=0;intReadDat(void);voidWriteDat(void);voidencryChar(){}voidmain(){clrscr();if(ReadDat()){printf("數(shù)據(jù)文件ENG49.IN不能打開!\n\007");return;}encryChar();WriteDat();}intReadDat(void){FILE*fp;inti=0;unsignedchar*p;if((fp=fopen("ENG49.IN","r"))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],’\n’);if(p)*p=07i++;}maxline=i;fclose(fp);return0;}voidWriteDat(){FILE*fp;inti;fp=fopen("ps49.dat","w");for(i=0;i<maxline;i++)*{printf("%s\n",xx[i]);fprintf(fp,"%s\n",xx[i]);}fclose(fp)}標(biāo)準(zhǔn)答案:voidencryChar(){inti;char*pf;for(i=0;i<maxline;i++){pf=xx[i];/*指針pf指向該行首地址*/while(*pf!=0){if((*pf>=’A’&&*pf<=’Z’)||*pf*11%256<=32)/*如果原字符是大寫字母或計算后的值小于等于32*/{pf++;/*則此字符不變,取下一個字符*/continue;/*退出此次循環(huán)*/}*pf=*pf*11%256;/*如果不滿足條件,則用新字符替代原字符*/pf++;/*取下一個字符*/}}}知識點解析:本題考查的知識點如下:(1)字符對應(yīng)的ASCII碼。(2)判斷結(jié)構(gòu)中多個條件的“或”運算。(3)退出一次循環(huán)。在C語言中,字符可參與任何整數(shù)運算。實際上,是字符的ASCII碼參與了.運算。所以可以直接用字符代入f(p)的關(guān)系式中求出替換字符。若原字符是大寫字母或f(p)≤32,則該字符不變。只有當(dāng)字符大于等于A小于等于Z時,才是大寫字母,所以這兩個條件之間用“與”運算。而字符是大寫字母與f(p)≤32之間為或的關(guān)系,所以這兩個條件之間用“或”運算。若字符不變,則可不必計算替換字符,使用continue退出本次循環(huán),進(jìn)入下一次循環(huán)的條件判斷中。因為這里不是直接退出循環(huán)結(jié)構(gòu),所以不能使用break語句。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第3套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、已知在文件in37.dat中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位)、產(chǎn)品名稱mc(字符型10位)、單價dj(整型)、數(shù)量sl(整型)、金額je(長整型)幾部分組成。其中,金額=單價×數(shù)量可計算得出。函數(shù)ReadDat()的功能是讀取這100個銷售記錄并存入數(shù)組sell中。請編制函數(shù)SortDat(),其功能要求:按產(chǎn)品代碼從小到大進(jìn)行排列,若產(chǎn)品代碼相同,則按金額從大到小進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件out37.dat中。注意;部分源程序已給出。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和寫函數(shù)WriteDat()的內(nèi)容。試題程序:#include<stdio.h>#include<mem.h>#include<string.h>#include<conio.h>#include<stdlib.h>#defineMAX100typedefstruct{chardm[5];charmc[11];intdj;intsl;longje;}PRO;PROsell[MAX];voidReadDat();voidWriteDat();voidSortDat(){}voidmain(){memset(sell,0,sizeof(sell));ReadDat()SortDat()WriteDat(;}voidReadDat(){FILE*fp;charstr[80],ch[11];inti;fp=fopen("IN37.DAT","r");for(i=0;i<100;i++){fgets(str,80,fp);memcpy(sell[i].dm,str,4);memcpy(sell[i].mc,str+4,10);memcpy(ch,str+14,4);ch[4]=0;sell[i].dj=atoi(ch);memcpy(ch,str+18,5);ch[5]=0;sell[i].sl=atoi(ch);sell[i].je=(long)sell[i].dj*sell[i].sl;}fclose(fp);}voidWriteDat(){FILE*fp;inti;fp=fopen("OUT37.DAT","w");for(i=0;i<100;i++){fprintf(fp,"%s%s%4d%5d%101d\n",sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);}fclose(fp);}標(biāo)準(zhǔn)答案:voidSortDat(){inti,j;PROxy;for(i=0;i<99;i++)for(j=i+l;j<100;j++){if(strcmp(sell[i].dm,sell[j].dm)>0)/*按產(chǎn)品代碼從小到大進(jìn)行排列*/{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}elseif(strcmp(sell[i].dm,sell[j].dm)==0)/*若產(chǎn)品代碼相同*/if(sell[i].je<sell[j].je)/*則按金額從大到小的進(jìn)行排列*/{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}}}知識點解析:本題考查的知識點如下:(1)結(jié)構(gòu)體及結(jié)構(gòu)數(shù)組的相關(guān)操作。(2)結(jié)構(gòu)數(shù)組的排序。(3)字符型數(shù)組的比較。本題著重考查結(jié)構(gòu)體變量的訪問、賦值,包括結(jié)構(gòu)體本身及結(jié)構(gòu)體中各個成員的訪問和賦值。結(jié)構(gòu)數(shù)組的操作與一般數(shù)組的區(qū)別不大,只要注意其中的元素是結(jié)構(gòu)體,以及對結(jié)構(gòu)體操作的方法。根據(jù)題意要求,我們首先要比較產(chǎn)品代碼。因為產(chǎn)品代碼為字符型,所以不能使用簡單的比較運算符進(jìn)行比較。在這里,我們使用了字符串處理函數(shù)strcmp(char*strl1,char*strl2,unsignedintcout)對其進(jìn)行比較。對于比較結(jié)果,還要按情況進(jìn)行新的操作——存入結(jié)構(gòu)數(shù)組或者再進(jìn)行比較。因為已定義了結(jié)構(gòu)數(shù)組,就可以使用循環(huán)進(jìn)行比較排序。排序采用前面介紹的“選擇排序法”。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第4套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識點解析:通過審題可以發(fā)現(xiàn)主要有兩個不同點:一是要求統(tǒng)計的四位數(shù)的條件是“千位+個位=百位+十位”,二是要求該四位數(shù)是奇數(shù),這兩個不同點都體現(xiàn)在參考答案的第8條語句中,對該語句進(jìn)行修改即可,其中,可以判斷奇數(shù)的表達(dá)式是“a[i]%2"。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第5套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、請編制函數(shù)ReadDa(()實現(xiàn)從文件IN83.DAT中讀取1000個十進(jìn)制整數(shù)到數(shù)組xx中。請編制函數(shù)Compute()分別計算出xx中奇數(shù)的個數(shù)odd、奇數(shù)的平均值avel、偶數(shù)的平均值ave2及所有奇數(shù)的方差totfc的值。最后調(diào)用函數(shù)WrireDat()把結(jié)果輸出到OUT83.DAT文件中。計算方差的公式如下:設(shè)N為奇數(shù)的個數(shù),xx[i]為奇數(shù),ave1為奇數(shù)的平均值。原始數(shù)據(jù)的存放格式是:每行存放10個數(shù),并用逗號隔開(每個數(shù)均大于0且小于等于2000)。注意:部分源程序已給出。請勿改動主函數(shù)main()和輸寫函數(shù)WriteDat()的內(nèi)容。試題程序:#include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAX1000intxx[MAX],odd=0,even=0;doubleavel=0.0,ave2=0.0,totfc=0.0;voidWriteDat(void);intReadDat(void){FILE*fp;if((fp=fopen("IN83.DAT","r"))==NULL)return1;fclose(fp);return0;}voidCompute(void){}voidmain(){inti;for(i=0;i<MAX;i++)xx[i]=0;if(ReadDat()){printf("數(shù)據(jù)文件IN83.DAT不能打開!\007\n");return;}Compute();printf("ODD=%d\nAVEl=%f\nAVE2=%f\nTOTFC=%f\n",odd,avel,ave2,totfc);WriteDat();}voidWriteDat(void){FILE*fp;inti;fp=fopen("OUT83.DAT","w");fprintf(fp,"%d\n%lf\n%lf\n%lf\n",odd,avel,ave2,totfc);fclose(fp);}標(biāo)準(zhǔn)答案:intReadDat(void){FILE*fp;inti,j;if((fp=fopen("IN83.DAT","r"))==NULL)return1;for(i=0;i<100;i++){for(j=0;j<10;j++)fscanf(fp,"%d,",&xx[i*l0+j]);fscanf(fp,"\n");if(feof(fp))break;}fclose(fp);return0;}voidCompute(void){inti,yy[MAX];for(i=0;i<1000;i++)if(xx[i]%2!=0){odd++;/*計算出xx中奇數(shù)的個數(shù)odd*/ave1+=xx[i];/*求奇數(shù)的和*/yy[odd-l]=xx[i];/*將奇數(shù)存入組中yy中*/}else{even++;/*計算出xx中偶數(shù)的個數(shù)even*/ave2+=xx[i];/*求偶數(shù)的和*/}ave1/=odd;/*求奇數(shù)的平均值*/ave2/=even;/*求偶數(shù)的平均值*/for(i=0;i<o(jì)dd;i++)totfc+=(yy[i]-ave1)*(yy[i]-ave1)/odd;/*求所以奇數(shù)的方差*/}知識點解析:本題考查的知識點如下:(1)從文件中讀取數(shù)據(jù)。(2)奇偶數(shù)的判斷和方差的求法。在C語言中,有一結(jié)構(gòu)體類型FILE,其中包含文件的一些屬性信息??啥x指針指向該結(jié)構(gòu)體,這個指針稱為文件指針。要從文件中讀取數(shù)據(jù),首先要判斷該文件是否能以“讀”的方式打開。若能打開,使用函數(shù)intfscanf(FILE*fp,char*format,args)從fp所指向的文件中依次讀取數(shù)據(jù)。在本題中,數(shù)據(jù)的存放很有規(guī)律,將數(shù)據(jù)讀出存入數(shù)組xx時,只要控制數(shù)組下標(biāo)就可以了。若文件結(jié)束,則退出讀取循環(huán)。最后要關(guān)閉文件。若一個數(shù)除以2取余得0,則該數(shù)是偶數(shù),否則為奇數(shù)。由方差公式可知,這是求一些連續(xù)的數(shù)的表達(dá)式的值,所以可以使用循環(huán)求得方差。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第6套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、標(biāo)準(zhǔn)答案:知識點解析:相對來說更簡單一些,通過審題可以發(fā)現(xiàn)本題有兩個不同點:①求所有數(shù)的平均值,此時只需要將數(shù)組中所有元素的值累加到變量aver中,最后除以1000(因為數(shù)組中有1000個元素)即可得到平均值,參考答案的第8條和第10條語句。②求所有數(shù)的方差,可先利用for循環(huán)將(xx[i].aver)的平方累加到變量totfc,然后再除以1000即可得到所有數(shù)的方差,參考答案的第11~13條語句。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第7套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、已知數(shù)據(jù)文件1N56.DAT中存有200個4位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)isVal(),其功能是:把千位數(shù)字和十位數(shù)字重新組合成一個新的十位數(shù)(新十位數(shù)的十位數(shù)字是原4位數(shù)的千位數(shù)字,新十位數(shù)的個位數(shù)字是原4位數(shù)的十位數(shù)字),以及把個位數(shù)和百位數(shù)組成另一個新的十位數(shù)(新十位數(shù)的十位數(shù)字是原4位數(shù)的個位數(shù)字,新個位數(shù)的個位數(shù)字是原4位數(shù)的百位數(shù)字),如果新組成的兩個十位數(shù)均為素數(shù)且新十位數(shù)字均不為零,則將滿足此條件的4位數(shù)按從大到小的順序存入數(shù)組b中,并要計算滿足亡述條件的4位數(shù)的個數(shù)cnt,最后調(diào)用寫函數(shù)writeDat()把結(jié)果cnt及數(shù)組b中符合條件的4位數(shù)輸出到OUT56.DAT文件中。注意:部分源程序己給出。程序中已定義數(shù)組:a[200],b[200],己定義變量:cnt。請勿改動主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。試題程序:#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;intisprime(intm){inti;for(i=2;i<=m/2;i++)if(re%i==0)return0;return1;}voidjsVal(){}voidreadDat(){inti;FILErfp;fp=fopen("IN56.DAT","r");for(i=0;i<MAX;i++)fscanf(fp,"%d",&a[i]);fclose(fp);}main(){inti;readDat();jsVal();printf("滿足條件的數(shù)=%d\n",cnt);for(i=0;i<cnt;i++)printf("%d\n",b[i];printf("kn’’);writeDat();}writeDat(){FILE*fp;inti;fp=fopen("OUT56.DAT","w");fprintf(fp,"%d\n",cnt);for(i=0;i<cnt;i++)fprintf(fp,"%dkn",b[i]);fclose(fp);}標(biāo)準(zhǔn)答案:voidjsVal(){inti,thou,hun,ten,data,j;intab,cd;for(i=0;i<200;i++){thou=a[i]/1000;/*求四位數(shù)的千位數(shù)字*/hun=a[i]%1000/100;/*求位烽的百位數(shù)字*/ten=a[i]%100/10;/*求四位數(shù)的十位數(shù)字*/data=a[i]%10;/*求四位數(shù)的個位數(shù)字*/ab=10*thou+ten;/*把千位數(shù)字和十位數(shù)字重新組合成一個新的十位數(shù)*/cd=lO*data+hun;/*把個位數(shù)和百位數(shù)組成另一個新的十位數(shù)*/if(isprime(ab)&&isprime(cd)&&ab!=O&&cd!=0)/*如果新組成的兩個十位數(shù)均為素數(shù)且新十位數(shù)字均不為零*/{b[cnt]=a[i];/*把滿足條件的數(shù)存入數(shù)組b中*/cnt++;/*統(tǒng)計滿足條件的數(shù)的個數(shù)*/}}for(i=O;i<cnt-1;i++)/*將滿足此條件的4位數(shù)按從大到小的順序存入數(shù)組b中*/for(j=i+l;j<cnt;j++)if(b[i]<b[j]){data=b[i];b[i]=b[j];b[j]=data;}知識點解析:本題考查的知識點如下:(1)將4位數(shù)各位亡的數(shù)拆分為獨立的數(shù)字。(2)循環(huán)結(jié)構(gòu)的使用。(3)判斷結(jié)構(gòu)中多個條件的布爾運算。在本題中,首先要將4位數(shù)各位上的數(shù)字拆分為獨立的數(shù)字。這要借助運算符“%”(取余)與“/”(整除)。將一個4位數(shù)整除1000則叫‘得到其千位上的數(shù)字,除以1000取余再整除100則可得百位上的數(shù)字,除以100取余再整除10則可得十位上的數(shù)字,除以10取余則得個位上的數(shù)字。求得各位上的數(shù)字后,就可以重新組合進(jìn)行比較。題中已給出判斷素數(shù)的函數(shù),只要帶入求出數(shù)據(jù)即可。各條件必須同時滿足,所以用“與”運算。題中要求將符合條件的數(shù)按從大到小的順序存入數(shù)組b,可以先將符合條件的數(shù)存入數(shù)組b,再對數(shù)組b進(jìn)行排序。排序使用“選擇排序法”。國家三級(網(wǎng)絡(luò)技術(shù))機試模擬試卷第8套一、程序設(shè)計題(本題共1題,每題1.0分,共1分。)1、函數(shù)ReadDat()的功能是實現(xiàn)從文件IN2.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中:請編制函數(shù)StrOL(),該函數(shù)的功能是:以行為單位對行中以空格或標(biāo)點符號為分隔的所有單詞進(jìn)行倒排。最后把已處理的字符串(應(yīng)不含標(biāo)點符號)仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT2.DAT中。例如:原文:YOUHeMeIamastudent.結(jié)果:MeHeYoustudentaamI原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點符號和空格。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和寫函數(shù)WriteDat()的內(nèi)容。#include<stdio.h>#include<string.h>#include<conio.h>#include<ctype.h>charxx[50][80];intmaxline=0;/*文章的總行數(shù)*/intReadDat(void);voidWriteDat(void);voidStrOL(void){main(){clrscr();if(ReadDat()){printf("數(shù)據(jù)文件IN2.DAT不能打開!\n\007");return;}StrOL();WriteDat();}intReadDat(void){FILE*fp;inti=0;char*p;if((fp=fopen("IN2.DAT","r"))==NULL)return1;while(fgets(xx[i],80,fp)!=NULL){p=strchr(xx[i],’\n’);if(p)*p=0;i++;}maxline=i;fclose(rD):return0;}voidWriteDat(void){FILE*fp;inti;clrscr();fp=fopen("OUT2.DAT","w");for(i=0;i<maxline;i++){printf("%s\n",xx[i]);fprintf(fp,"%s\n",xx[i]);}fclose(fp);}標(biāo)準(zhǔn)答案:voidstrOL(void){inti,j,k,strl,1;charc;for(i=0;i<maxline;i++)/*把各行中多余的標(biāo)點符號去掉*/for(j=0;j<strlen(xx[i]);j++){c=xx[i][j];if((c<=’A’&&c<=’Z’)||(c<=’a’&&c<=’z’)||c==’’||(c>=’0’&&c<=’9’));elsexx[i][j]=’’;for(1=0;l<maxline;l++){charch[80]={0};charpp[80]={0);strl=strlen(xx[l]);i=str1-1;k=1;while(1){while(((xx[l][i]>=’a’&&xx[l][i]<=’z’)||(xx[l][i]>=’A’&&xx[l][i]<=’z’)||(xx[l][i]>=’0’&&xx[1][i]<=’9’))&&i>=0)/*處理字母和數(shù)字*/{for(j=k;j>=0;j--)/*從當(dāng)前行的最后一個字符開始取字符,直到遇到空格*/pp[j+1]=pp[j];pp[O]=xx[l][i];k++;i--;}strcat(ch,pp);/*把該單詞存放到數(shù)組ch中*/strcpy(pp,"");/*清空數(shù)組pp*/k=1;if(i==-l)break;/*如果處理完了一行,則退出循環(huán)*/while((xx[1][i]<’0’||(xx[l][i]>’9’&&xx[l][i]<’A’)||xx[1][i]>’z’)&&i>=0)/*處理空格*/{for(j=k;j>=0;j--)pp[j+1]=pp[j];pp[0]=xx[l][i];k++;i--;}strcat(ch,pp);/*把空格加到數(shù)組ch中*/strcpy(pp,"");/*清空數(shù)組*/k=0;if(i==-1)break;/*如果處理完了一行,則退出循環(huán)*/}strcpy(xx[l],ch);/*把已處理完的字符串仍按行重新存入字符串?dāng)?shù)組xx中*/}}知識點解析:本題是有關(guān)字符串的處理問題。首先利用二重循環(huán)來按照先行后列的順序取得xx數(shù)組中的各個字符元素,這里用到了strlen()函數(shù),用來求字符串長度。對依次取得的字符做一些處理,即把多余的標(biāo)點符號去掉,使新的字符數(shù)組中只含有字母和空格。準(zhǔn)備工作做完后,從當(dāng)前行的最后一個字符開始取,不斷的取每一個字符前面的字符,直到取得一個完整的單詞后(即遇到空格分隔時),就把該單詞存放到數(shù)組ch中(用到了strcatt()函數(shù)來連接兩個字符串,用strlen()函數(shù)來對字符串求取串長度),還要把分隔符也放到ch中去。接著去取該行中其他的字符組成的單詞,重復(fù)上面的操作,對其他行同樣處理。這樣最終得到的字符串就是各行中單詞出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶電訊職業(yè)學(xué)院《班主任著作研讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江中醫(yī)藥大學(xué)《數(shù)字?jǐn)z影測量》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江建設(shè)職業(yè)技術(shù)學(xué)院《TIA技術(shù)及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州工業(yè)應(yīng)用技術(shù)學(xué)院《鋼結(jié)構(gòu)設(shè)計概述》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)通風(fēng)和消毒制度
- 情境劇本創(chuàng)作技巧及其作用
- DB2201T 66.3-2024 肉牛牛舍建設(shè)規(guī)范 第3部分:種母牛
- 生物學(xué)基礎(chǔ)與方法模板
- 人資行政戰(zhàn)略展望模板
- 七夕傳媒策略研討
- 2024年日語培訓(xùn)機構(gòu)市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 2024年公安機關(guān)理論考試題庫附參考答案(基礎(chǔ)題)
- 歷史-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 2024年安全生產(chǎn)法律、法規(guī)、標(biāo)準(zhǔn)及其他要求清單
- 2023年高考文言文閱讀設(shè)題特點及備考策略
- 抗心律失常藥物臨床應(yīng)用中國專家共識
- 考級代理合同范文大全
- 2024解析:第三章物態(tài)變化-講核心(原卷版)
- DB32T 1590-2010 鋼管塑料大棚(單體)通 用技術(shù)要求
- 安全行車知識培訓(xùn)
- 2024年安徽省高校分類對口招生考試數(shù)學(xué)試卷真題
評論
0/150
提交評論