2013年3月三級網(wǎng)絡(luò)上機(jī)題庫打印版_第1頁
2013年3月三級網(wǎng)絡(luò)上機(jī)題庫打印版_第2頁
2013年3月三級網(wǎng)絡(luò)上機(jī)題庫打印版_第3頁
2013年3月三級網(wǎng)絡(luò)上機(jī)題庫打印版_第4頁
2013年3月三級網(wǎng)絡(luò)上機(jī)題庫打印版_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第01套:(和第28套對比)已知數(shù)據(jù)文件IN.DAT中存有300個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)jsValue(),其功能是:求出千位數(shù)上的數(shù)加百位數(shù)上的數(shù)等于十位數(shù)上的數(shù)加個位數(shù)上的數(shù)的個數(shù)cnt,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序。最后main()函數(shù)調(diào)用寫函數(shù)writeDat()把數(shù)組b中的數(shù)輸出到文件OUT.DAT中。例如:7153,7+1=5+3,則該數(shù)滿足條件存入數(shù)組b中,且個數(shù)cnt=cnt+1。8129,8+1!=2+9,則該數(shù)不滿足條件忽略。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[300],b[300],已定義變量:cnt請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容?!緟⒖即鸢浮縥sValue(){inti,j;/*定義變量*/inta1,a2,a3,a4;inttemp;for(i=0;i<300;i++){a1=a[i]%10;/*數(shù)位分解*/a2=a[i]%100/10;a3=a[i]%1000/100;a4=a[i]/1000;if(a4+a3==a2+a1)/*判斷條件*/b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)/*選擇法排序*/for(j=i+1;j<cnt;j++)if(b[i]<b[j]){temp=b[i];b[i]=b[j];b[j]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第2套:函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章,存入到無符號字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,其替代值仍存入數(shù)組xx所對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT.DAT中。替代關(guān)系:f(p)=p*11mod256,mod為取余運(yùn)算,p是數(shù)組xx中某一個字符的ASCII值,f(p)是計算后無符號的整型值(注意:中間變量定義成整型變量),如果原字符是數(shù)字字符0至9或計算后f(p)值小于等于32,則該字符不變,否則用f(p)替代所對應(yīng)的字符。注意:部分源程序存放在PROG1.C中,原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格,并也按此替代關(guān)系進(jìn)行處理。請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidencryptChar(){inti,j,val;/*定義變量*/for(i=0;i<maxline;i++)/*替代字符*/for(j=0;j<80;j++){val=xx[i][j]*11%256;/*替代關(guān)系*/if(xx[i][j]>='0'&&xx[i][j]<='9'||val<=32)/*判斷條件*/continue;elsexx[i][j]=val;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第3套:已知數(shù)據(jù)文件IN.DAT中存有300個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)jsValue(),其功能是:求出千位數(shù)上的數(shù)加個位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個數(shù)cnt,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對數(shù)組b的四位數(shù)按從小到大的順序進(jìn)行排序。最后main()函數(shù)調(diào)用寫函數(shù)writeDat()把數(shù)組b中的數(shù)輸出到文件OUT.DAT中。例如:6712,6+2=7+1,則該數(shù)滿足條件存入數(shù)組b中,且個數(shù)cnt=cnt+1。8129,8+9!=1+2,則該數(shù)不滿足條件忽略。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[300],b[300],已定義變量:cnt請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容?!緟⒖即鸢浮縱oidjsValue(){inti,j;/*定義變量*/inta1,a2,a3,a4;inttemp;for(i=0;i<300;i++){a1=a[i]%10;/*數(shù)位分解*/a2=a[i]%100/10;a3=a[i]%1000/100;a4=a[i]/1000;if(a4+a1==a3+a2)/*判斷條件*/b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)/*選擇法排序*/for(j=i+1;j<cnt;j++)if(b[i]>b[j]){temp=b[i];b[i]=b[j];b[j]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第4套:函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章,存入到無符號字符串?dāng)?shù)組xx中,請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,其替代值仍存入數(shù)組xx的對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT.DAT中。替代關(guān)系:f(p)=p*17mod256,mod為取余運(yùn)算,p是數(shù)組xx中某一個字符的ASCII值,f(p)是計算后的無符號整型值(注意:中間變量定義成整型變量),如果計算后f(p)值小于等于32或f(p)是奇數(shù)時,則該字符不變,否則用f(p)替代所對應(yīng)的字符。注意:部分源程序存放在PROG1.C中,原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格,并也按此替代關(guān)系進(jìn)行處理。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和輸出函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidencryptChar(){inti,j,val;/*定義變量*/for(i=0;i<maxline;i++)/*替代字符*/for(j=0;j<80;j++){val=xx[i][j]*17%256;/*替代關(guān)系*/if(val<=32||val%2==1)/*判斷條件*/continue;elsexx[i][j]=val;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第5套:函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章,存入到無符號字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,其替代值仍存入數(shù)組xx的對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT.DAT中。替代關(guān)系:f(p)=p*11mod256,mod為取余運(yùn)算,p是數(shù)組xx中某一個字符的ASCII值,f(p)是計算后無符號的整型值(注意:中間變量定義成整型變量),如果原字符是大寫字母或計算后f(p)值小于等于32,則該字符不變,否則用f(p)替代所對應(yīng)的字符。注意:部分源程序存放在PROG1.C中,原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格,并也按此替代關(guān)系進(jìn)行處理。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和輸出函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidencryptChar(){inti,j,val;/*定義變量*/for(i=0;i<maxline;i++)/*替代字符*/for(j=0;j<80;j++){val=xx[i][j]*11%256;/*替代關(guān)系*/if(xx[i][j]>='A'&&xx[i][j]<='Z'||val<=32)/*判斷條件*/continue;elsexx[i][j]=val;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第6套:將文件IN.DAT中的200個整數(shù)讀至數(shù)組xx中。請編制jsValue()函數(shù),要求:求出數(shù)組xx中的數(shù)值為奇數(shù)的個數(shù)cnt1和數(shù)值為偶數(shù)的個數(shù)cnt2以及數(shù)組xx下標(biāo)為奇數(shù)的元素值的算術(shù)平均值pj。結(jié)果cnt1,cnt2,pj輸出到OUT.DAT中。注意:部分源程序存在文件PROG1.C文件中。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)read_dat()和輸出函數(shù)writeDat()的內(nèi)容?!緟⒖即鸢浮縱oidjsValue(){inti;/*定義變量*/for(i=0;i<N;i++)/*統(tǒng)計求和*/{if(xx[i]%2==1)cnt1++;elsecnt2++;if(i%2==1)pj+=xx[i];}pj/=(N/2);/*求平均值*/}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第7套:程序PROG1.C的功能是:將大于整數(shù)m且緊靠m的k個素數(shù)存入數(shù)組xx。請考生編寫函數(shù)num(intm,intk,intxx[])實(shí)現(xiàn)程序的要求,最后調(diào)用函數(shù)readwriteDAT()把結(jié)果輸出到out.dat文件中。例如,若輸入17,5,則應(yīng)輸出:19,23,29,31,37。注意:部分源程序存在文件PROG1.C文件中。請勿改動數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main()和輸出函數(shù)readwriteDAT()的內(nèi)容?!緟⒖即鸢浮縱oidnum(intm,intk,intxx[]){intcnt=0;/*定義變量*/while(cnt<k)/*統(tǒng)計素數(shù)*/{m++;if(isP(m))xx[cnt++]=m;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第8套:已知數(shù)據(jù)文件IN1.DAT和IN2.DAT中分別存有100個兩位十進(jìn)制數(shù),并且已調(diào)用讀函數(shù)readDat()把這兩個文件中的數(shù)存入數(shù)組a和b中,請考生編制一個函數(shù)jsVal(),實(shí)現(xiàn)的功能是依次對數(shù)組a和b中的數(shù)按條件重新組成一個新數(shù)并依次存入數(shù)組c中,再對數(shù)組c中的數(shù)按從小到大的順序進(jìn)行排序,最后調(diào)用輸出函數(shù)writeDat()把結(jié)果c輸出到文件OUT.DAT中。組成新數(shù)的條件:如果數(shù)組a和b中相同下標(biāo)位置的數(shù)均是奇數(shù),則數(shù)組a中十位數(shù)字為新數(shù)的千位數(shù)字,個位數(shù)字仍為新數(shù)的個位數(shù)字,數(shù)組b中的十位數(shù)字為新的百位數(shù)字,個位數(shù)字為新的十位數(shù)字,這樣組成的新數(shù)并存入數(shù)組c中。例如:a:123124152115b:324517271815c:345112751155排序后c:115512753451注意:部分源程序存在文件PROG1.C文件中。程序中已定義:a[100]、b[100]和c[100]。請勿改動數(shù)據(jù)文件IN1.DAT和IN2.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容?!緟⒖即鸢浮縱oidjsVal(){inti,j;/*定義變量*/inta1,a2,b1,b2;intab;inttemp;for(i=0;i<MAX;i++){a1=a[i]%10;/*數(shù)位分解*/a2=a[i]/10;b1=b[i]%10;b2=b[i]/10;ab=a2*1000+b2*100+b1*10+a1;/*數(shù)位重組*/if(a[i]%2==1&&b[i]%2==1)/*判斷條件*/c[cnt++]=ab;}for(i=0;i<cnt-1;i++)/*選擇法排序*/for(j=i+1;j<cnt;j++)if(c[i]>c[j]){temp=c[i];c[i]=c[j];c[j]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第9套:編寫一個函數(shù)findStr(char*str,char*substr),該函數(shù)統(tǒng)計一個長度為2的子字符串substr在另一個字符串str中出現(xiàn)的次數(shù),該次數(shù)作為函數(shù)值返回。例如,假定輸入的字符串為"asdasasdfgasdaszx67asdmklo",子字符串為"as",函數(shù)返回值是6。函數(shù)ReadWrite()實(shí)現(xiàn)從文件in.dat中讀取兩個字符串,并調(diào)用函數(shù)findStr(),最后把結(jié)果輸出到文件out.dat中。注意:部分源程序存在文件PROG1.C中。請勿改動主函數(shù)main()和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)findStr()的花括號中填入你編寫的若干語句?!緟⒖即鸢浮縤ntfindStr(char*str,char*substr){inti,cnt=0;/*定義變量*/for(i=0;i<80;i++)/*統(tǒng)計次數(shù)*/if(*(str+i)==*substr&&*(str+i+1)==*(substr+1))/*判斷條件*/cnt++;returncnt;}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第10套:已知在文件in.dat中存有200組數(shù)據(jù),每組有3個數(shù),每個數(shù)均是三位數(shù)。函數(shù)readDat()是讀取這200組數(shù)據(jù)存放到結(jié)構(gòu)數(shù)組aa中。請編制函數(shù)jsSort(),其函數(shù)的功能是:要求在200組數(shù)據(jù)中找出條件為每組數(shù)據(jù)中的第二個數(shù)大于第一個數(shù)加第三個數(shù)之和,其中滿足條件的個數(shù)作為函數(shù)jsSort()的返回值,同時把滿足條件的數(shù)據(jù)存入結(jié)構(gòu)數(shù)組bb中,再對bb中的數(shù)據(jù)按照每組數(shù)據(jù)的第二個數(shù)加第三個之和的大小進(jìn)行降序排列(第二個數(shù)加第三個數(shù)的和均不相等),排序后的結(jié)果仍重新存入結(jié)構(gòu)數(shù)組bb中,最后調(diào)用函數(shù)writeDat()把結(jié)果bb輸出到out.dat文件中。注意:部分源程序存在文件PROG1.C文件中。請勿改動數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。【參考答案】intjsSort(){inti,j;/*定義變量*/Datatemp;intcnt=0;for(i=0;i<200;i++)if(aa[i].x2>aa[i].x1+aa[i].x3)/*判斷條件*/bb[cnt++]=aa[i];for(i=0;i<cnt-1;i++)/*選擇法排序*/for(j=i+1;j<cnt;j++)if(bb[i].x2+bb[i].x3<bb[j].x2+bb[j].x3){temp=bb[i];bb[i]=bb[j];bb[j]=temp;}returncnt;/*返回函數(shù)值*/}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第11套:函數(shù)readDat()是從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組xx中(每行字符串長度均小于80)。請編制函數(shù)jsSort(),其函數(shù)的功能是:以行為單位對字符串按下面給定的條件進(jìn)行排序,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)writeDat()把結(jié)果xx輸出到文件out.dat中。條件:從字符串中間一分為二,左邊部分按字符的ASCII值降序排序,右邊部分不作處理,排序后,左邊部分與右邊部分按例子所示進(jìn)行交換。如果原字符串長度為奇數(shù),則最中間的字符不參加處理,字符仍放在原位置上。例如:位置012345678源字符串a(chǎn)bcdhgfe123498765則處理后字符串hgfedcba876594321注意:部分源程序存在文件PROG1.C文件中。請勿改動數(shù)據(jù)文件in.dat中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容?!緟⒖即鸢浮縱oidjsSort(){unsignedinti,j,k;/*定義變量*/inttemp;for(i=0;i<20;i++){for(j=0;j<strlen(xx[i])/2-1;j++)/*選擇法排序*/for(k=j+1;k<strlen(xx[i])/2;k++)if(xx[i][j]<xx[i][k]){temp=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=temp;}for(j=0;j<strlen(xx[i])/2;j++)/*交換字符*/{k=j+(strlen(xx[i])+1)/2;temp=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=temp;}}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第12套:已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱mc(字符型10位),單價dj(整型),數(shù)量sl(整型),金額je(長整型)五部分組成。其中:金額=單價*數(shù)量計算得出。函數(shù)ReadDat()讀取這100個銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編制函數(shù)SortDat(),其功能要求:按金額從大到小進(jìn)行排列,若金額相等,則按產(chǎn)品代碼從大到小進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件OUT.DAT中。提示:若中間變量為PROtemp,則可以直接使用結(jié)構(gòu)賦值語句進(jìn)行解題;產(chǎn)品代碼比較請用函數(shù)strcmp進(jìn)行解題。例如:sell[i]=temp;注意:部分源程序存放在PROG1.C中。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和輸出函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidSortDat(){inti,j;/*定義變量*/PROtemp;for(i=0;i<MAX-1;i++)/*選擇法排序*/for(j=i+1;j<MAX;j++)if(sell[i].je<sell[j].je/*判斷條件*/||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)<0){temp=sell[i];sell[i]=sell[j];sell[j]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第13套:已知文件IN.DAT中存有200個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal(),其功能是:若一個四位數(shù)的千位數(shù)位置上的值小于等于百位數(shù)位置上的值,百位數(shù)位置上的值小于等于十位數(shù)位置上的值,以及十位數(shù)位置上的值小于等于個位數(shù)位置上的值,并且原四位數(shù)是偶數(shù),則統(tǒng)計出滿足此條件的個數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到文件OUT.DAT中。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[200],b[200],已定義變量:cnt。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容?!緟⒖即鸢浮縱oidjsVal(){inti,j;/*定義變量*/inta1,a2,a3,a4;inttemp;for(i=0;i<MAX;i++){a1=a[i]%10;/*數(shù)位分解*/a2=a[i]%100/10;a3=a[i]%1000/100;a4=a[i]/1000;if(a4<=a3&&a3<=a2&&a2<=a1&&a[i]%2==0)/*判斷條件*/b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)/*選擇法排序*/for(j=i+1;j<cnt;j++)if(b[i]>b[j]){temp=b[i];b[i]=b[j];b[j]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第14套:函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,仍存入數(shù)組xx對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT.DAT中。替代關(guān)系:f(p)=p*11mod256,mod為取余運(yùn)算,p是數(shù)組xx中某一個字符的ASCII值,f(p)是計算后的無符號整型值(注意:中間變量定義成整型變量),如果計算后f(p)值小于等于32或f(p)對應(yīng)的字符是"0"至"9",則該字符不變,否則用f(p)替代所對應(yīng)的字符。注意:部分源程序存放在PROG1.C中,原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格,并也按此替代關(guān)系進(jìn)行處理。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和輸出函數(shù)WriteDat()的內(nèi)容。【參考答案】voidencryptChar(){inti,j,val;/*定義變量*/for(i=0;i<maxline;i++)/*替代字符*/for(j=0;j<80;j++){val=xx[i][j]*11%256;/*替代關(guān)系*/if(val<=32||val>='0'&&val<='9')/*判斷條件*/continue;elsexx[i][j]=val;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第15套:請編制函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取1000個十進(jìn)制整數(shù)到數(shù)組xx中;再編制函數(shù)COMPUTE()分別計算出XX中奇數(shù)的個數(shù)ODD,偶數(shù)的個數(shù)EVEN,平均值A(chǔ)VER以及方差TOTFE的值,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到OUT.DAT文件中。計算方差的公式如下:totfc=1/NΣ(xx[i]-ave1)2設(shè)N為奇數(shù)的個數(shù),xx[i]為奇數(shù),ave1為奇數(shù)的平均值。原始數(shù)據(jù)文件存放的格式是:每行存放10個數(shù),并用逗號隔開。(每個數(shù)均大于0且小于等于2000)注意:部分源程序已給出。請勿改動主函數(shù)main()和輸出數(shù)據(jù)函數(shù)writeDat()的內(nèi)容?!緟⒖即鸢浮?*循環(huán)變量i從0開始,每次增加1,計算奇數(shù)的個數(shù)odd,偶數(shù)的個數(shù)even,所有數(shù)組元素的和aver*/inti;for(i=0;i<MAX;i++){if(xx[i]%2)//如果xx[i]是奇數(shù)odd++;//odd加1else//否則,xx[i]是偶數(shù)even++;//even加1aver+=xx[i];//把所有數(shù)組的元素xx[i]累加到變量aver}aver/=1000.0;//變量aver除以1000.0得到所有數(shù)組元素的算術(shù)平均值/*根據(jù)計算方差的公式,計算所有數(shù)組元素的方差*/for(i=0;i<MAX;i++)totfc+=(xx[i]-aver)*(xx[i]-aver);//把(xx[i]-aver)的平方累加到變量totfctotfc/=1000.0;//變量totfc除以1?000.0得到所有數(shù)組元素的方差※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第16套:函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,仍存入數(shù)組xx對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT.DAT中。替代關(guān)系:f(p)=p*13mod256,mod為取余運(yùn)算,p是數(shù)組xx中某一個字符的ASCII值,f(p)是計算后的無符號整型值(注意:中間變量定義成整型變量),如果計算后f(p)值小于等于32或是偶數(shù),則該字符不變,否則用f(p)替代所對應(yīng)的字符。注意:部分源程序存放在PROG1.C中,原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格,并也按此替代關(guān)系進(jìn)行處理。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和輸出函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidencryptChar(){inti,j,val;/*定義變量*/for(i=0;i<maxline;i++)/*替代字符*/for(j=0;j<80;j++){val=xx[i][j]*13%256;/*替代關(guān)系*/if(val<=32||val%2==0)/*判斷條件*/continue;elsexx[i][j]=val;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第17套:函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中;請編制函數(shù)StrOL(),其函數(shù)的功能是:以讀入文章的行為單位,以空格或標(biāo)點(diǎn)符號(數(shù)據(jù)文件中僅含","或"."作為標(biāo)點(diǎn)符號)作為分隔符,對行中所有單詞進(jìn)行倒排,單詞間必須以空格作為分隔符,之后把已處理的字符串(分隔符只包含空格)仍按行重新存入字符串?dāng)?shù)組xx中。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT.DAT中。例如:原文: YouHeMe Iamastudent.Ilikestudy.結(jié)果: MeHeYou studylikeIstudentaamI提示:先把每一行的標(biāo)點(diǎn)符號變?yōu)榭崭穹?,每一行單詞之間全部是以空格為分隔符,對于每一行字符串可以先提取最后一個單詞,再提取倒數(shù)第二個單詞,直至第一個單詞,單詞之后采用空格為分隔符,連接成一行新的字符串。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格。注意:部分源程序存放在PROG1.C中。原字符串中第1個單詞和最后1個單詞在構(gòu)造新的字符串時不能遺漏。請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidStrOL(void){inti,j;/*定義變量*/charstr[80];for(i=0;i<maxline;i++){memset(str,0,80);/*字符串初始化*/for(j=strlen(xx[i])-1;j>=0;j--)if(!isalpha(xx[i][j]))/*提取單詞*/{if(isalpha(xx[i][j+1])){strcat(str,xx[i]+j+1);/*保存單詞*/strcat(str,"");}xx[i][j]='\0';/*設(shè)置行尾*/}strcat(str,xx[i]);/*保存第一個單詞*/strcpy(xx[i],str);/*復(fù)制字符串*/}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第18套:已知數(shù)據(jù)文件IN.DAT中存有300個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)jsValue(),其功能是:求出個位數(shù)上的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)大于零的個數(shù)cnt,再把所有滿足此條件的四位數(shù)依次存入數(shù)組b中,然后對數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序。最后main()函數(shù)調(diào)用寫函數(shù)writeDat()把數(shù)組b中的數(shù)輸出到文件OUT.DAT。例如: 1239,9-1-2-3>0,則該數(shù)滿足條件存入數(shù)組b中,且個數(shù)cnt=cnt+1。 8129,9-8-1-2<0,則該數(shù)不滿足條件忽略。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[300],b[300],已定義變量:cnt。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。【參考答案】voidjsValue(){inti,j;/*定義變量*/inta1,a2,a3,a4;inttemp;for(i=0;i<300;i++){a1=a[i]%10;/*數(shù)位分解*/a2=a[i]%100/10;a3=a[i]%1000/100;a4=a[i]/1000;if(a1-a4-a3-a2>0)/*判斷條件*/b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)/*選擇法排序*/for(j=i+1;j<cnt;j++)if(b[i]<b[j]){temp=b[i];b[i]=b[j];b[j]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第19套:請編寫函數(shù)countValue(intn),它的功能是:求n以內(nèi)(不包括n)同時能被3與7整除的所有自然數(shù)和的平均值的平方根s,s作為函數(shù)返回值,最后結(jié)果s輸出到文件OUT.DAT中。例如若n為1000時,函數(shù)值應(yīng)為:s=22.449944。注意:部分源程序存放在PROG1.C中。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()和輸入輸出函數(shù)progReadWrite()的內(nèi)容?!緟⒖即鸢浮縟oublecountValue(intn){inti,cnt=0;/*定義變量并初始化*/doublesum=0.0;for(i=1;i<n;i++)/*統(tǒng)計求和*/if(i%3==0&&i%7==0){sum+=i;cnt++;}sum/=cnt;/*求平均值*/sum=sqrt(sum);/*求平方根*/returnsum;/*返回結(jié)果*/}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第20套:函數(shù)ReadDat()的功能是實(shí)現(xiàn)從文件in.dat中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中。請編制函數(shù)CharConvA(),其功能是:以行為單位把字符串中的所有字符的ASCii值右移4位二進(jìn)制位,高位補(bǔ)0后加倒數(shù)第二個字符的ASCII值,得到最后一個新的值,倒數(shù)第二個字符的ASCII值右移4位二進(jìn)制位,高補(bǔ)位0后加倒數(shù)第三個字符的ASCII值,得到倒數(shù)第二個新的值,依此類推一直處理到第二個字符。注意:第一個新的值與上述處理不同,第一個字符的ASCII值加元最后一個字符的ASCII值,得到第一個新的值。得到的新字符仍存入到原字符串對應(yīng)的位置上,之后把已處理的結(jié)果仍按行重新存入數(shù)組xx中。最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件out.dat中。注意:部分源程序已給出。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和寫函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縤nti,j;chartmp;/*對文章的每一行字符串按照題目的要求進(jìn)行處理*/for(i=0;i<maxline;i++){tmp=xx[i][(int)strlen(xx[i])-1];//把第i行字符串的最后一個字符賦給字符tmp/*通過for循環(huán)對每行數(shù)組進(jìn)行移位和求和ASCII碼值計算*/for(j=(int)strlen(xx[i])-1;j>=1;j--)xx[i][j]=(xx[i][j]>>4)+xx[i][j-1];/*第i行字符串的最后一個字符的ASCII碼值與第i行字符串的第一個字符的ASCII碼值之和賦給第一個字符*/xx[i][0]+=tmp;}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第21套:對10個候選人進(jìn)行選舉,現(xiàn)有一個100條記錄的選票數(shù)據(jù)文件IN.DAT,其數(shù)據(jù)存放的格式是每條記錄的長度均為10位,第一位表示第一個候選人的選中情況,第二位表示第二個候選人的選中情況,依次類推;每一位內(nèi)容均為字符'0'或'1','1'表示此人被選中,'0'表示此人未被選中,若一張選票選中人數(shù)小于等于5個人時被認(rèn)為無效的選票則不作統(tǒng)計。給定函數(shù)ReadDat()的功能是把選票數(shù)據(jù)讀入到字符串?dāng)?shù)組xx中。請編制函數(shù)CountRs()來統(tǒng)計每個候選人的選票數(shù)并把得票數(shù)依次存入yy[0]到y(tǒng)y[9]中,即第一個候選人的得票數(shù)存入yy[0]中,以此類推。最后調(diào)用函數(shù)WriteDat()把結(jié)果yy輸出到文件OUT.DAT中。注意:部分源程序存放在PROG1.C中。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和輸出函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidCountRs(void){inti,j,cnt;/*定義變量*/for(i=0;i<100;i++)/*逐張?zhí)幚磉x票*/{cnt=0;for(j=0;j<10;j++)/*統(tǒng)計選中人數(shù)*/if(xx[i][j]=='1')cnt++;if(cnt<=5)/*判斷條件*/continue;for(j=0;j<10;j++)/*統(tǒng)計得票*/if(xx[i][j]=='1')yy[j]++;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第22套:已知數(shù)據(jù)文件IN.DAT中存有300個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)jsValue(),其功能是:求出千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個位數(shù)上的數(shù)大于零的個數(shù)cnt,再求出所有滿足此條件的四位數(shù)平均值pjz1,以及所有不滿足此條件的四位數(shù)平均值pjz2。最后main()函數(shù)調(diào)用寫函數(shù)writeDat()把結(jié)果cnt,pjz1,pjz2輸出到OUT.DAT文件。例如: 9123,9-1-2-3>0,則該數(shù)滿足條件,參加計算平均值pjz1,且個數(shù)cnt=cnt+1。 9812,9-8-1-2<0,則該數(shù)不滿足條件,參加計算平均值pjz2。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[300],已定義變量:cnt,pjz1,pjz2。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。【參考答案】voidjsValue(){inti;/*定義變量*/inta1,a2,a3,a4;for(i=0;i<300;i++){a1=a[i]%10;/*數(shù)位分解*/a2=a[i]%100/10;a3=a[i]%1000/100;a4=a[i]/1000;if(a4-a3-a2-a1>0)/*判斷條件*/{pjz1+=a[i];cnt++;}elsepjz2+=a[i];}pjz1/=cnt;/*求平均值*/pjz2/=(300-cnt);}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第23套:函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中;請編制函數(shù)SortCharD(),其函數(shù)的功能是:以行為單位對字符按ASCII碼從大到小的順序進(jìn)行排序,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組xx中。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT.DAT中。例:原文: dAe,BfC. CCbbAA結(jié)果: fedCBA., bbCCAA原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格。注意:部分源程序存放在PROG1.C中。請勿改動主函數(shù)main()、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內(nèi)容。【參考答案】voidSortCharD(void){unsignedinti,j,k;/*定義變量*/inttemp;for(i=0;i<maxline;i++)for(j=0;j<strlen(xx[i])-1;j++)/*選擇法排序*/for(k=j+1;k<strlen(xx[i]);k++)if(xx[i][j]<xx[i][k]){temp=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第24套:已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱mc(字符型10位),單價dj(整型),數(shù)量sl(整型),金額je(長整型)五部分組成。其中:金額=單價*數(shù)量計算得出。函數(shù)ReadDat()讀取這100個銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請編制函數(shù)SortDat(),其功能要求:按產(chǎn)品代碼從大到小進(jìn)行排列,若產(chǎn)品代碼相同,則按金額從大到小進(jìn)行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件OUT.DAT中。提示:若中間變量為PROtemp,則可以直接使用結(jié)構(gòu)賦值語句進(jìn)行解題;產(chǎn)品代碼比較請用函數(shù)strcmp進(jìn)行解題。例如:sell[i]=temp;注意:部分源程序存放在PROG1.C中。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和輸出函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidSortDat(){inti,j;/*定義變量*/PROtemp;for(i=0;i<MAX-1;i++)/*選擇法排序*/for(j=i+1;j<MAX;j++)if(strcmp(sell[i].dm,sell[j].dm)<0/*判斷條件*/||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je<sell[j].je){temp=sell[i];sell[i]=sell[j];sell[j]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第25套:函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar(),按給定的替代關(guān)系對數(shù)組xx中的所有字符進(jìn)行替代,仍存入數(shù)組xx對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件OUT.DAT中。替代關(guān)系:f(p)=p*11mod256,mod為取余運(yùn)算,p是數(shù)組xx中某一個字符的ASCII值,f(p)是計算后的無符號整型值(注意:中間變量定義成整型變量),如果原字符的ASCII值是偶數(shù)或計算后f(p)值小于等于32,則該字符不變,否則用f(p)替代所對應(yīng)的字符。注意:部分源程序存放在PROG1.C中,原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格,并也按此替代關(guān)系進(jìn)行處理。請勿改動主函數(shù)main()、讀函數(shù)ReadDat()和輸出函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidencryptChar(){inti,j,val;/*定義變量*/for(i=0;i<maxline;i++)/*替代字符*/for(j=0;j<80;j++){val=xx[i][j]*11%256;/*替代關(guān)系*/if(xx[i][j]%2==0||val<=32)/*判斷條件*/continue;elsexx[i][j]=val;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第26套:在文件IN.DAT中存有若干個(個數(shù)<200)四位數(shù)字的正整數(shù),函數(shù)ReadDat()讀取這若干個正整數(shù)并存入數(shù)組xx中。請編制函數(shù)CalValue(),其功能要求:1.求出這文件中共有多少個正整數(shù)totNum;2.求出這些正整數(shù)中的各位數(shù)字之和是偶數(shù)的數(shù)的個數(shù)totCnt,以及滿足此條件的這些正整數(shù)的算術(shù)平均值totPjz。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把所求的結(jié)果輸出到OUT.DAT文件中。注意:部分源程序存放在PROG1.C中。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù),主函數(shù)main()、讀函數(shù)ReadDat()和輸出函數(shù)WriteDat()的內(nèi)容?!緟⒖即鸢浮縱oidCalValue(void){inti;/*定義變量*/inta1,a2,a3,a4;for(i=0;i<MAXNUM;i++)/*統(tǒng)計求和*/if(xx[i]>0){totNum++;a1=xx[i]%10;/*數(shù)位分解*/a2=xx[i]%100/10;a3=xx[i]%1000/100;a4=xx[i]/1000;if((a1+a2+a3+a4)%2==0){totCnt++;totPjz+=xx[i];}}totPjz/=totCnt;/*求平均值*/※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第27套:已知數(shù)據(jù)文件IN.DAT中存有200個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal(),其功能是:把一個四位數(shù)的千位數(shù)位置上的值加上十位數(shù)位置上的值恰好等于百位數(shù)位置上的值加上個位數(shù)位置上的值,并且原四位數(shù)是偶數(shù),則統(tǒng)計出滿足此條件的個數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到OUT.DAT文件中。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[200],b[200],已定義變量:cnt。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。【參考答案】voidjsVal(){inti,j;/*定義變量*/inta1,a2,a3,a4;inttemp;for(i=0;i<MAX;i++){a1=a[i]%10;/*數(shù)位分解*/a2=a[i]%100/10;a3=a[i]%1000/100;a4=a[i]/1000;if(a4+a2==a3+a1&&a[i]%2==0)/*判斷條件*/b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)/*選擇法排序*/for(j=i+1;j<cnt;j++)if(b[i]>b[j]){temp=b[i];b[i]=b[j];b[j]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第28套:(和第一套對比)已知數(shù)據(jù)文件IN.DAT中存有300個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)jsValue(),其功能是:求出千位數(shù)上的數(shù)加百位數(shù)上的數(shù)等于十位數(shù)上的數(shù)加個位數(shù)上的數(shù)的個數(shù)cnt,再把所有滿足此條件的四位數(shù)平均值pjz1,以及所有不滿足此條件的四位數(shù)平均值pjz2,。最后main()函數(shù)調(diào)用寫函數(shù)writeDat()把結(jié)果cnt,pjz1,pjz2輸出到文件OUT.DAT中。例如:7153,7+1=5+3,則該數(shù)滿足條件計算平均值pjz1,且個數(shù)cnt=cnt+1。8129,8+1!=2+9,則該數(shù)不滿足條件計算平均值pjz2。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[300],b[300],已定義變量:cnt請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。參考答案:jsValue(){inti,j,qw,bw,sw,gw;for(i=0;i<300;i++){qw=a[i]/1000;bw=a[i]/100%10;sw=a[i]%100/10;gw=a[i]%10;if(qw+bw==sw+gw)b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]){qw=b[i];b[i]=b[j];b[j]=qw;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第29套:函數(shù)readDat()是從文件IN.DAT中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組xx中(每行字符串長度均小于80)。請編制函數(shù)jsSort(),其函數(shù)的功能是:以行為單位對字符串按下面給定的條件進(jìn)行排序,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)writeDat()把結(jié)果xx輸出到文件OUT.DAT中。條件:從字符串中間一分為二,左邊部分按字符的ASCII值升序排序,右邊不變,左邊經(jīng)排序后在與右邊部分進(jìn)行交換。如果原字符串長度為奇數(shù),則最中間的字符不參加排序,字符仍放在原位置上。例如:位置 012345678源字符串 dcbahgfe 432198765則處理后字符串 hgfeabcd 876591234注意:部分源程序存在文件PROG1.C文件中。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。參考答案:voidjsSort(){inti,j,k,strl,half;chartemp;for(i=0;i<20;i++){strl=strlen(xx[i]);half=strl/2;for(j=0;j<half-1;j++)for(k=j+1;k<half;k++)if(xx[i][j]>xx[i][k]){temp=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=temp;}for(j=half-1,k=strl-1;j>=0;j--,k--){temp=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=temp;}}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第30套:已知數(shù)據(jù)文件IN.DAT中存有300個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請編制一函數(shù)jsValue(),其功能是:求出千位數(shù)上的數(shù)加個位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十位數(shù)上的數(shù)的個數(shù)cnt,再把所有滿足此條件的四位數(shù)平均值pjz1,以及所有不滿足此條件的四位數(shù)平均值pjz2,。最后main()函數(shù)調(diào)用寫函數(shù)writeDat()把結(jié)果cnt,pjz1,pjz2輸出到文件OUT.DAT中例如:6712,6+2=7+1,則該數(shù)滿足條件存入數(shù)組b中,且個數(shù)cnt=cnt+1。8129,8+9!=1+2,則該數(shù)不滿足條件忽略。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[300],b[300],已定義變量:cnt請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容參考答案:jsValue(){inti,gw,sw,bw,qw,cnt2=0;for(i=0;i<300;i++){gw=a[i]%10;sw=a[i]/10%10;bw=a[i]/100%10;qw=a[i]/1000;if((qw+gw)==(sw+bw)){cnt++;pjz1+=a[i];}else{cnt2++;pjz2+=a[i];}}if(cnt==0)pjz1=0;elsepjz1/=cnt;if(cnt2==0)pjz2=0;elsepjz2/=cnt2;}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第31套:編寫函數(shù)jsvalue,它的功能是:求Fibonacci數(shù)列中最接近T的數(shù)數(shù),結(jié)果由函數(shù)返回。其中Fibonacci數(shù)列F(n)的定義為:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)(n>2)最后調(diào)用函數(shù)writeDat()讀取10個數(shù)據(jù)t,分別得出結(jié)果且把結(jié)果輸出到文件out.dat中。例如:當(dāng)t=1000時,函數(shù)值為:987。注意:部分源程序已給出。請勿改動主函數(shù)main()和寫函數(shù)writeDat()的內(nèi)容。參考答案:intjsValue(intt){intf0=0,f1=1,fn;fn=f0+f1;while(fn<=t){f0=f1;f1=fn;fn=f0+f1;}returnfn;}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第32套:已知文件IN.DAT中存有200個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal(),其功能是:把一個四位數(shù)的千位數(shù)位置上的值減去百位數(shù)位置上的值再減去十位數(shù)位置上的值最后減去個位數(shù)位置上的值,如果得出的值大于等于零且原四位數(shù)是奇數(shù),則統(tǒng)計出滿足此條件的個數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到OUT.DAT文件中。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[200],b[200],已定義變量:cnt。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。參考答案:voidjsVal(){inti,j,thou,hun,ten,data;for(i=0;i<200;i++){thou=a[i]/1000;hun=a[i]%1000/100;ten=a[i]%100/10;data=a[i]%10;if(thou-hun-ten-data>=0&&a[i]%2)b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]>b[j]){thou=b[i];b[i]=b[j];b[j]=thou;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第33套:已知文件IN.DAT中存有200個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal(),其功能是:若一個四位數(shù)的千位數(shù)位置上的值小于等于百位數(shù)位置上的值,百位數(shù)位置上的值小于等于十位數(shù)位置上的值,以及十位數(shù)位置上的值小于等于個位數(shù)位置上的值,并且原四位數(shù)是偶數(shù),則統(tǒng)計出滿足此條件的個數(shù)cnt并把這些四位數(shù)按從小到大的順序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到文件OUT.DAT中。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[200],b[200],已定義變量:cnt。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。【參考答案】voidjsVal(){inti,j;/*定義變量*/inta1,a2,a3,a4;inttemp;for(i=0;i<MAX;i++){a1=a[i]%10;/*數(shù)位分解*/a2=a[i]%100/10;a3=a[i]%1000/100;a4=a[i]/1000;if(a4<=a3&&a3<=a2&&a2<=a1&&a[i]%2==0)/*判斷條件*/b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)/*選擇法排序*/for(j=i+1;j<cnt;j++)if(b[i]>b[j]){temp=b[i];b[i]=b[j];b[j]=temp;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※第34套:(35套區(qū)別)已知數(shù)據(jù)文件IN.DAT中存有200個四位數(shù),并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal(),其功能是:依次從數(shù)組a中取出一個四位數(shù),如果該四位數(shù)均小于該四位數(shù)以前的連續(xù)五個數(shù)且該數(shù)是偶數(shù)(該四位數(shù)以前不滿五個數(shù),則不統(tǒng)計),則統(tǒng)計出滿足此條件的個數(shù)cnt,并把這些四位數(shù)按升序存入數(shù)組b中,最后調(diào)用寫函數(shù)writeDat()把結(jié)果cnt以及數(shù)組b中符合條件的四位數(shù)輸出到OUT.DAT文件中。注意:部分源程序存在文件PROG1.C文件中。程序中已定義數(shù)組:a[200],b[200],已定義變量:cnt。請勿改動數(shù)據(jù)文件IN.DAT中的任何數(shù)據(jù)、主函數(shù)main()、讀函數(shù)readDat()和寫函數(shù)writeDat()的內(nèi)容。參考答案:voidjsVal(){inti,j,flag;for(i=0;i<MAX-5;i++){for(j=i+1;j<=i+5;j++)if(a[i]<a[j]&&a[i]%2==0)flag=1;else{flag=0;break;}if(flag==1)b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]>b[j]){flag=b[i];b[i]=b[j];b[j]=flag;}}※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論