版三級網(wǎng)絡(luò)技術(shù)南開上機100題答案_第1頁
版三級網(wǎng)絡(luò)技術(shù)南開上機100題答案_第2頁
版三級網(wǎng)絡(luò)技術(shù)南開上機100題答案_第3頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、題目 1:下列程序的功能是:將大于整數(shù)m且緊靠 m的 k個素數(shù)存入數(shù)組xx 。請編寫函數(shù)num(intm,intk,int xx)實現(xiàn)函數(shù)的要求,最后調(diào)用函數(shù)readwriteDAT()把結(jié)果輸出到文件out.dat中。標(biāo)準(zhǔn)答案 */int data=m+1;int half,n=0,I;while(1)half=data/2;for(I=2;I<=half;I+)if(data%I=0)break;if(I>half)xxn=data;n+;if(n>=k)break;data+; 題目 2:已知數(shù)據(jù)文件IN.DAT 中存有請考生編制一函數(shù)jsVal(),其功能是200 個

2、四位數(shù) ,并已調(diào)用讀函數(shù):如果四位數(shù)各位上的數(shù)字均是readDat()把這些數(shù)存入數(shù)組a中 ,0或 2或 4或6或 8,則統(tǒng)計出滿足此條件的個數(shù)cnt,并把這些四位數(shù)按從大到小的順序存入數(shù)組b中。最后main()函數(shù)調(diào)用寫函數(shù)writeDat( )把結(jié)果 cnt 以及數(shù)組 b中符合條件的四位數(shù)輸出到void jsVal() /*標(biāo)準(zhǔn)答案 */int bb4;int I,j,k,flag;OUT.DAT文件中。for (I=0;I<200;I+)bb0=aI/1000; bb1=aI%1000/100;bb2=aI%100/10; bb3=aI%10;for (j=0;j<4;j+)

3、if (bbj%2=0)flag=1;elseflag=0;break;if (flag=1) bcnt=aI; cnt+; for(I=0;I for(j=I+1;j if (bI k=bI;bI=bj;bj=k;題目 3:函數(shù)READDAT()實現(xiàn)從文件IN.DAT 中讀取一篇英文文章存入到字符串?dāng)?shù)組XX中 ;請編制函數(shù) STROR(), 其函數(shù)功能是: 以行為單位把字符串中的所有小寫字母O左邊的字符串內(nèi)容移到該串的右邊存放, 然后并把小寫字母O刪除 , 余下的字符串內(nèi)容移到已處理字符串的左邊存放.最后把已處理的字符串仍按行重新存入字符串?dāng)?shù)組void StrOR(void) /*標(biāo)準(zhǔn)答案*

4、/XX中 , 最后調(diào)用函數(shù)WRITEDAT()把結(jié)果XX輸出到文件OUT.DAT中 .int I,j,k,index,strl;char ch;for(I=0;I strl=strlen(xxI);index=strl;for(j=0;j if(xxIj='o')for(k=j;kxxIk=xxIk+1;xxIstrl-1= ' 'index=j;for(j=strl-1;j>=index;j-)ch=xxIstrl-1;for(k=strl-1;k>0;k-)xxIk=xxIk-1;xxI0=ch;題目 4:函數(shù) ReadDat( )實現(xiàn)從文件 I

5、N.DAT 中讀取一篇英文文章存入到字符串?dāng)?shù)組xx 中 ;請編制函數(shù) StrOL( ), 其函數(shù)的功能是 : 以行為單位對行中以空格或標(biāo)點符號為分隔的所有單詞進行倒排,同時去除標(biāo)點符號, 之后把已處理的字符串( 應(yīng)不含標(biāo)點符號) 仍按行重新存入字符串?dāng)?shù)組xx 中。最后 main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果 xx 輸出到文件 OUT6.DAT中。void StrOL(void) /*標(biāo)準(zhǔn)答案 */int I,j,k,strl,l;char c;for(I=0;I for(j=0;j c=xxIj;if (c>='A'&&c<='Z

6、')|(c>='a'&&c<='z')|c=' ') ;else xxIj=' ' for(l=0;lchar ch80=0; char pp80=0;strl=strlen(xxl);I=strl-1; k=1;while(1)while (xxlI>='a'&&xxlI<='z')|(xxlI>='A'&&xxlI<='z')&&I>=0)for(j=

7、k;j>=0;j-)ppj+1=ppj; pp0=xxlI; k+;I-; strcat(ch,pp);strcpy(pp, """");k=1;if(I=-1)break; while(xxlI<'A'|xxlI>'z')&&I>=0)for(j=k;j>=0;j-)ppj+1=ppj; pp0=xxlI; k+; I-;strcat(ch,pp); strcpy(pp,"""");k=0;if(I=-1)break;strcpy(xx

8、l,ch);題目 5:在文件in.dat中有200 個正整數(shù),且每個數(shù)均在1000 至 9999之間。函數(shù)ReadDat()讀取這200個數(shù)存放到數(shù)組aa中。請編制函數(shù)jsSort(),其函數(shù)的功能是:要求按每個數(shù)的后三位的大小進行升序排列, 然后取出滿足此條件的前數(shù)值進行降序排列。最后調(diào)用函數(shù)10個數(shù)依次存入數(shù)組b中,如果后三位的數(shù)值相等,WriteDat()把結(jié)果 bb輸出到文件out.dat中。則按原先的void jsSort() /*標(biāo)準(zhǔn)答案*/int I,j,data;for(I=0;I<199;I+)for(j=I+1;j<200;j+)if (aaI%1000>

9、aaj%1000)data=aaI;aaI=aaj;aaj=data;else if(aaI%1000=aaj%1000)if(aaI data=aaI;aaI=aaj;aaj=data;for(I=0;I<10;I+)bbI=aaI;題目 6:在文件in.dat中有 200 個正整數(shù),且每個數(shù)均在1000 至 9999之間。函數(shù)ReadDat()讀取這200個數(shù)存放到數(shù)組aa中。請編制函數(shù)jsSort(),其函數(shù)的功能是:要求按每個數(shù)的后三位的大小進行降序排列, 然后取出滿足此條件的前10個數(shù)依次存入數(shù)組b中,如果后三位的數(shù)值相等,則按原先的數(shù)值進行升序排列。最后調(diào)用函數(shù)WriteDa

10、t()把結(jié)果bb輸出到文件out.dat中。void jsSort() /*標(biāo)準(zhǔn)答案*/int I,j,data;for(I=0;I<199;I+)for(j=I+1;j<200;j+)if (aaI%1000 data=aaI;aaI=aaj;aaj=data;else if(aaI%1000=aaj%1000)if(aaI>aaj)data=aaI;aaI=aaj;aaj=data;for(I=0;I<10;I+)bbI=aaI;題目 7:已知在文件 IN.DAT 中存有 100個產(chǎn)品銷售記錄, 每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型 4位 ) ,產(chǎn)品名稱 mc(字

11、符型 10位 ) ,單價 dj( 整型 ) ,數(shù)量 sl( 整型 ) ,金額 je( 長整型 ) 四部分組成。其中:金額 =單價 * 數(shù)量計算得出。函數(shù) ReadDat() 是讀取這 100個銷售記錄并存入結(jié)構(gòu)數(shù)組 sell 中。請編制函數(shù) SortDat() ,其功能要求:按產(chǎn)品代碼從大到小進行排列,若產(chǎn)品代碼相同,則按金額從大到小進行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell 中,最后調(diào)用函數(shù) WriteDat() 把結(jié)果輸出到文件OUT10.DAT中。void SortDat() /*標(biāo)準(zhǔn)答案 */int I,j;PRO xy;for(I=0;I<99;I+)for(j=I+1;j&

12、lt;100;j+) if(strcmp(sellI.dm,sellj.dm)<0)xy=sellI;sellI=sellj;sellj=xy;else if(strcmp(sellI.dm,sellj.dm)=0)if(sellI.je xy=sellI; sellI=sellj; sellj=xy;題目 8:函數(shù)ReadDat()實現(xiàn)從文件ENG.IN中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx 中;請編制函數(shù) encryptChar(),按給定的替代關(guān)系對數(shù)組xx 中的所有字符進行替代,仍存入數(shù)組xx 的對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果 xx 輸出到文件PS1.DA

13、T中。替代關(guān)系: f(p)=p*11mod 256 (p 是數(shù)組中某一個字符的ASCII 值, f(p)是計算后新字符的ASCII 值 ) ,如果計算后f(p)值小于等于 32 或大于 130 ,則該字符不變,否則將f(p)所對應(yīng)的字符進行替代。void encryptChar() /*標(biāo)準(zhǔn)答案 */int I;char *pf;for(I=0;I pf=xxI;while(*pf!=0)if(*pf*11%256>130|*pf*11%256<=32);else*pf=*pf*11%256;pf+; 9題目:題目 9:函數(shù) ReadDat( )實現(xiàn)從文件 IN.DAT 中讀取一篇

14、英文文章存入到字符串?dāng)?shù)組xx 中 ;請編制函數(shù) SortCharD( ),其函數(shù)的功能是:以行為單位對字符按從大到小的順序進行排序,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組xx 中。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果xx 輸出到文件OUT2.DAT中。void SortCharD(void) /*標(biāo)準(zhǔn)答案*/int I,j,k,strl;char ch;for(I=0;I strl=strlen(xxI);for(j=0;jfor(k=j+1;k if(xxIj ch=xxIj; xxIj=xxIk; xxIk=ch;題目 10:請編制函數(shù)ConvertCharA(),其函數(shù)的

15、功能是:以行為單位把字符串中的所有小寫字母改寫成該字母的下一個字母,如果是字母z,則改寫成字母a,大寫字母和其它字符保持不變。把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx 中。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果xx 輸出到文件OUT3.DAT中。void ConvertCharA(void) /*標(biāo)準(zhǔn)答案*/int I,j,str;for(I=0;I str =strlen(xxI);for(j=0;jif(xxIj='z')xxIj='a'else if(xxIj>='a'&&xxIj<='

16、;y') xxIj+=1;題目 11:下列程序的功能是:把s字符串中的所有字母改寫成該字母的下一個字符,字母z 改寫成字母 a。要求大寫字母仍為大寫字母,小寫字母仍為小寫字母, 其他字符不做改變。請編寫函數(shù) chg(char*s) 實現(xiàn)程序的要求,最后調(diào)用函數(shù)readwriteDat()把結(jié)果輸出到文件 out.dat中。void chg(char*s) /*標(biāo)準(zhǔn)答案 */while(*s)if(*s='z'|*s='Z')*s-=25;s+;else if(*s>='a'&&*s<='y')*

17、s+=1;s+;else if(*s>='A'&&*s<='Y')*s+=1;s+;else s+;或者:void chg(char *s) int i,k;k=strlen(s);for(i=0;i if(si='z'|si='Z')si-=25;elseif(isalpha(si)si+; 題目 12:已知在文件 IN.DAT 中存有 100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型 4位 ) ,產(chǎn)品名稱 mc( 字符型 10位 ) ,單價 dj(整型 ) ,數(shù)量 sl( 整型 ) ,金

18、額 je( 長整型 ) 四部分組成。其中:金額 =單價 * 數(shù)量計算得出。函數(shù) ReadDat() 是讀取這 100 個銷售記錄并存入結(jié)構(gòu)數(shù)組sell 中。請編制函數(shù) SortDat(),其功能要求: 按產(chǎn)品名稱從小到大進行排列,若產(chǎn)品名稱相同 ,則按金額從小到大進行排列 . 最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件OUT5.DAT中。void SortDat() /*標(biāo)準(zhǔn)答案 */int I,j;PRO xy;for(I=0;I<99;I+)for(j=I+1;j<100;j+)if(strcmp(sellI.dm,sellj.dm)

19、<0)xy=sellI;sellI=sellj;sellj=xy;else if(strcmp(sellI.dm,sellj.dm)=0)if(sellI.je xy=sellI; sellI=sellj; sellj=xy;題目 13:已知在文件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中。請編

20、制函數(shù) SortDat(),其功能要求:按產(chǎn)品代碼從小到大進行排列,若產(chǎn)品代碼相同,則按金額從大到小進行排列,最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件OUT6.DAT中。void SortDat() /*標(biāo)準(zhǔn)答案 */int I,j;PRO xy;for(I=0;I<99;I+)for(j=I+1;j<100;j+)if(strcmp(sellI.mc,sellj.mc)>0)xy=sellI; sell I=sellj; sellj=xy;else if(strcmp(sellI.mc,sellj.mc)=0)if(sellI.

21、je xy=sellI; sellI=sellj; sellj=xy;題目 14:已知數(shù)據(jù)文件IN.DAT 中存有 200 個四位數(shù) ,并已調(diào)用讀函數(shù)readDat() 把這些數(shù)存入數(shù)組a中 , 請考生編制一函數(shù)jsVal(), 其功能是 : 依次從數(shù)組 a中取出一個四位數(shù),如果該數(shù)連續(xù)大于該四位數(shù)以后的 5個數(shù)且該數(shù)是奇數(shù),則統(tǒng)計出滿足此條件的個數(shù)cnt,并把這些四位數(shù)按從小到大的順序存入數(shù)組 b中。并要計算滿足上述條件的四位數(shù)的個數(shù)cnt 。最后 main() 函數(shù)調(diào)用寫函數(shù) writeDat()把結(jié)果 cnt 以及數(shù)組 b中符合條件的四位數(shù)輸出到OUT.DAT文件中。void jsVal

22、() /*標(biāo)準(zhǔn)答案 */int I,j,flag=0;int k;for(I=0;I for(j=I+1;j<=I+5;j+)if (aI>aj)flag=1;else flag=0;break;if (aI%2=0)flag=0;if (flag=1)bcnt=aI; cnt+; for(I=0;I for(j=I+1;j if (bI>bj)k=bI;bI=bj;bj=k;題目 15:已知數(shù)據(jù)文件IN.DAT 中存有 200 個四位數(shù) ,并已調(diào)用讀函數(shù)readDat() 把這些數(shù)存入數(shù)組a中 , 請考生編制一函數(shù) jsVal(), 其功能是 : 若一個四位數(shù)的千位數(shù)字上的

23、值小于等于百位數(shù)字上的值,百位數(shù)字上的值小于等于十位數(shù)字上的值,十位數(shù)字上的值小于等于個位數(shù)字上的值,并且此四位數(shù)是偶數(shù),則統(tǒng)計出滿足此條件的個數(shù)cnt,并把這些四位數(shù)按從大到小的順序存入數(shù)組b中。最后 main() 函數(shù)調(diào)用寫函數(shù) writeDat( ) 把結(jié)果 cnt 以及數(shù)組 b中符合條件的四位數(shù)輸出到 OUT.DAT文件中。void jsVal() /*標(biāo)準(zhǔn)答案*/int I,j;int a1,a2,a3,a4,k;for (I=0;I a1=aI/1000; a2=aI%1000/100;a3=aI%100/10; a4=aI%10;if (a1<=a2)&&(

24、a2<=a3)&&(a3<=a4)&&(aI%2=0)bcnt=aI;cnt+;for(I=0;I for(j=I+1;j if (bI>bj)k=bI;bI=bj;bj=k;1題目:題目 16:函數(shù) ReadDat()實現(xiàn)從文件 IN.DAT 中讀取一篇英文文章存入到字符串?dāng)?shù)組xx 中,請編制函數(shù) StrCharJR() ,其函數(shù)的功能是:以行為單位把字符串中所有字符的ASCII 值右移 4位,然后把右移后的字符 ASCII 值再加上原字符的ASCII 值,得到新的字符仍存入原字符串對應(yīng)的位置上。最后把已處理的字符串仍按行重新存入字符串?dāng)?shù)組x

25、x 中,最后調(diào)用函數(shù)writeDat()把結(jié)果 xx 輸出到文件OUT8.DAT中。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80 個字符,含標(biāo)點符號和空格。void StrCharJR(void) /*標(biāo)準(zhǔn)答案 */int I,j,strl;for(I=0;I strl=strlen(xxI);for(j=0;j xxIj+=xxIj>>4;題目 17:函數(shù) READDAT()實現(xiàn)從文件 IN.DAT 中讀取一篇英文文章存入到字符串?dāng)?shù)組XX中 ; 請編制函數(shù) CHA(), 其函數(shù)功能是 : 以行為單位把字符串中的第一個字符的ASCII 值加第二個字符的 ASCII 值,得到第一個

26、親朋字符,第二個字符的ASCII 值加第三個字符的ASCII 值,得到第二個新字符,依此類推一直處理到最后第二個字符,最后一個字符的ASCII 值加原第一個字符的ASCII 值,得到最后一個新的字符,得到的新字符分別存放在原字符串對應(yīng)的位置上。最后把已處理的字符串逆轉(zhuǎn)后按行重新存入字符串?dāng)?shù)組XX中 , 最后調(diào)用函數(shù) WRITEDAT()把結(jié)果 XX輸出到文件 OUT9.DAT中 . 原始數(shù)據(jù)文件存放的格式是 : 每行的寬度均小于80個字符 , 含標(biāo)點符號和空格 .void ChA(void) /*標(biāo)準(zhǔn)答案 */int I,j,k,str;char ch;for(I=0;Istr=strlen(

27、xxI);ch=xxI0;for(j=0;j xxIj+=xxIj+1;xxIstr-1+=ch;for(j=0,k=str-1;j ch=xxIj;xxIj=xxIk;xxIk=ch;void ChA(void) int i,j; char p,c; for(i=0;i p=xxi0; c=xxistrlen(xxi)-1; for(j=0;j xxij+=xxij+1; xxistrlen(xxi)-1=p+c; strrev(xxi); 題目 18:函數(shù) ReadDat() 實現(xiàn)從文件 ENG.IN 中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx 中;請編制函數(shù) encryptChar(),按

28、給定的替代關(guān)系對數(shù)組xx 中的所有字符進行替代,仍存入數(shù)組xx 的對應(yīng)的位置上,最后調(diào)用函數(shù)WriteDat()把結(jié)果 xx 輸出到文件 PS10.DAT中。替代關(guān)系: f(p)=p*11mod 256 (p 是數(shù)組中某一個字符的ASCII 值, f(p)是計算后新字符的ASCII 值 ) ,如果原字符的 ASCII 值是偶數(shù)或計算后 f(p) 值小于等于 32,則該字符不變, 否則將 f(p)所對應(yīng)的字符進行替代。void encryptChar() /*標(biāo)準(zhǔn)答案 */int I;char *pf;for(I=0;I pf=xxI;while(*pf!=0)if(*pf%2=0|*pf*11

29、%256<=32);else*pf=*pf*11%256;pf+; 題目 19:編寫一個函數(shù)findstr(),該函數(shù)統(tǒng)計一個長度為2的子字符串在另一個字符串中出現(xiàn)的次數(shù)。例如:假定輸入的字符串為"asd asasdfg asd as zx67 asd mklo",子字符串為 "as",函數(shù)返回值為 6。函數(shù) readwriteDat()的功能是實現(xiàn)從文件 in.dat中讀取兩個字符穿 4,并調(diào)用函數(shù) findstr(),最后把結(jié)果輸出到文件out.dat 中。/* 標(biāo)準(zhǔn)答案 */int findStr(char *str,char *substr

30、) int n; char *p , *r; n=0; while ( *str ) p=str; r=substr; while(*r)if(*r=*p) r+; p+; else break;if(*r='0')n+;str+; return n;題目 20:編寫函數(shù)jsvalue,它的功能是:求Fibonacci數(shù)列中大于t 的最小的一個數(shù),結(jié)果由函數(shù)返回。其中Fibonacci數(shù)列 F(n)的定義為:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)最后調(diào)用函數(shù)writeDat()int jsValue(int t) /*讀取 10個數(shù)據(jù)標(biāo)準(zhǔn)答案 */t ,

31、分別得出結(jié)果且把結(jié)果輸出到文件out.dat中。 int f1=0,f2=1,fn;fn=f1+f2;while(fn<=t)f1=f2;f2=fn;fn=f1+f2;return fn;題目 21:下列程序的功能是:利用發(fā)下所示的簡單迭代方法求方程:cos(x)-x=0的一個實根。xn+1=cos(xn)float countValue() /*標(biāo)準(zhǔn)答案 */float x0,x1=0.0;while(1)x0=x1;x1=cos(x0);if(fabs(x0-x1)<1e-6) break;return x1;題目 22:請編寫函數(shù)countvalue(),它的功能是:求n以內(nèi)

32、(不包括n)同時能被3和 7整數(shù)的所有自然數(shù)之和的平方根s ,并作為函數(shù)值返回,最后結(jié)果s 輸出到文件 out.datdouble countValue(int n) /*標(biāo)準(zhǔn)答案 */double xy=0.0;int I;for(I=1;Iif(I%3=0&&I%7=0) xy+=I;xy=sqrt(double)xy);return xy;double countvalue(int n) int i,j=0;double k;for(i=0;i if(i%3=0&&i%7=0)j+=i;k=sqrt(j);return k; 題目 23: 已知在文件in.

33、dat中存有 N個(個數(shù) <200)四位數(shù)字的正整數(shù),函數(shù)中。readdat()讀取這N個正整數(shù)并存入數(shù)組xx 中。請編制函數(shù)calvalue(),其功能要求:1、求出這N個實數(shù)的平均值aver; 2、分別求出這N個實數(shù)的整數(shù)部分之和sumint以及小數(shù)部分之和sumdec,最后調(diào)用函數(shù)writedat()把所求的結(jié)果輸出到文件out.dat中。void CalValue(void) /*標(biāo)準(zhǔn)答案*/int I;double x,sum=0;for (I=0;I sumint=sumint+(int)xxI;x=xxI-(int)xxI;sumdec=sumdec+x;sum=sum+x

34、xI;aver=sum/MAXNUM;題目 24:在三位整數(shù)(100 至999) 中尋找符合條件的整數(shù)并依次從小到大存入數(shù)組中;它既是完全平方數(shù),又是兩位數(shù)字相同,例如144、 676 等。請編制函數(shù)實現(xiàn)此功能,滿足該條件的整數(shù)的個數(shù)通過所編制的函數(shù)返回。最后調(diào)用函數(shù)writeDat()把結(jié)果輸出到文件out.dat中。jsValue(int a109) /*標(biāo)準(zhǔn)答案*/int I,j,k=0;int hun,ten,data;for(I=100;I<=999;I+)j=10;while(j*j<=I)if (I=j*j)hun=I/100;data=I-hun*100;ten=d

35、ata/10;data=data-ten*10;if(hun=ten|hun=data|ten=data)bbk=I;k+;j+; return k;題目 25:下列程序的功能是:尋找并輸出11至 999 之間的數(shù) m,它滿足 m,m2和 m3均為回文數(shù)。所謂回文數(shù)是指其各位數(shù)字左右對稱的整數(shù),例如121, 676 , 94249等。滿足上述條件的數(shù)如m=11,m2=121,m3=1331皆為回文數(shù)。請編制函數(shù)int svalue(long m)實現(xiàn)此功能,如果是回文數(shù),則函數(shù)返回1,反之則返回0。最后把結(jié)果輸出到文件out.dat中。int jsValue(long n) /*標(biāo)準(zhǔn)答案 */

36、int I,strl,half;char xy20;ltoa(n,xy,10);strl=strlen(xy);half=strl/2;for(I=0;I if(xyI!=xy-strl) break;if(I>=half) return 1;else return 0;題目 26: 已知在文件 in.dat中存有若干個(個數(shù) <200)四位數(shù)字的正整數(shù),函數(shù)readdat() 讀取這若干個正整數(shù)并存入數(shù)組xx 中。請編制函數(shù) calvalue() ,其功能要求:1、求出這文件 C.P有多少個正整數(shù) totnum ; 2、求這些數(shù)右移 1位后,產(chǎn)生的新數(shù)是偶數(shù)的數(shù)的個數(shù)totcnt

37、,以及滿足此條件的這些數(shù)(右移前的值)的算術(shù)平均值totpjz ,最后調(diào)用函數(shù) writedat()把所求的結(jié)果輸出到文件out.dat 中。void CalValue(void) /*標(biāo)準(zhǔn)答案 */int I,data;for(I=0;I if(!xxI) break;if(xxI>0) totNum+;data=xxI>>1;if (data%2=0)totCnt+;totPjz+=xxI;totPjz/=totCnt;題目 27:已知數(shù)據(jù)文件IN.DAT 中存有 300 個四位數(shù),并已調(diào)用讀函數(shù)ReadDat() 把這些數(shù)存入數(shù)組 a中,請編制一函數(shù)jsvalue()

38、,其功能是: 求出千位數(shù)上的數(shù)減百位數(shù)減十位數(shù)上的數(shù)減個位數(shù)上的數(shù)大于零的個數(shù)cnt ,再求出所有滿足此條件的四位數(shù)平均值pjz1 ,以及不滿足此條件的四位數(shù)平均值 pjz2 ,最后調(diào)用寫函數(shù)writeDat()把結(jié)果輸出到 OUT.DAT文件。例如: 9123,9-1-2-3>0 ,則該數(shù)滿足條件計算平均值 pjz1,且個數(shù) cnt=cnt+1 。9812,9-8-1-2<0,則該數(shù)不滿足條件計算平均值pjz2.void jsValue() /*標(biāo)準(zhǔn)答案 */int I,thou,hun,ten,data,j;for(I=0;I<300;I+)thou=aI/1000; h

39、un=aI%1000/100;ten=aI%100/10; data=aI%10;if (thou-hun-ten-data>0)bcnt=aI;cnt+;for(I=0;I for(j=I+1;j if(bI>bj)data=bI; bI=bj; bj=data;題目 28:已知數(shù)據(jù)文件IN.DAT 中存有 200 個四位數(shù) , 并已調(diào)用讀函數(shù) readDat()把這些數(shù)存入數(shù)組a中 , 請考生編制一函數(shù)jsVal(),其功能是 :把千位數(shù)字和十位數(shù)字重新組成一個新的十位數(shù)ab( 新十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字, 新十位數(shù)的個位數(shù)字是原四位數(shù)的十位數(shù)字),以及把個位數(shù)字和

40、百位數(shù)字組成另一個新的十位數(shù)cd ( 新十位數(shù)的十位數(shù)字是原四位數(shù)的個位數(shù)字, 新十位數(shù)的個位數(shù)字是原四位數(shù)的百位數(shù)字),如果新組成的兩個十位數(shù)ab-cd>=0 且 ab-cd<=10 且兩個數(shù)均是奇數(shù) , 同時兩個新數(shù)的十位數(shù)字均不為零, 則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中 , 并要計算滿足上述條件的四位數(shù)的個數(shù)cnt 。最后 main()函數(shù)調(diào)用寫函數(shù) writeDat() 把結(jié)果 cnt以及數(shù)組 b中符合條件的四位數(shù)輸出到OUT.DAT文件中。void jsVal() /*標(biāo)準(zhǔn)答案 */int I,thou,hun,ten,data,j;int ab,cd;f

41、or(I=0;I<200;I+)thou=aI/1000; hun=aI%1000/100;ten=aI%100/10; data=aI%10;ab=10*thou+ten; cd=10*data+hun;if (ab-cd)>=0&&(ab-cd)<=10&&ab%2=1&&cd%2=1&&ab!=0&&cd!=0)bcnt=aI;cnt+;for(I=0;I for(j=I+1;j if(bI data=bI; bI=bj;bj=data;題目 29:已知數(shù)據(jù)文件IN.DAT 中存有 200

42、個四位數(shù) , 并已調(diào)用讀函數(shù) readDat()把這些數(shù)存入數(shù)組a中 , 請考生編制一函數(shù)jsVal(),其功能是 :把千位數(shù)字和十位數(shù)字重新組成一個新的十位數(shù)ab( 新十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字, 新十位數(shù)的個位數(shù)字是原四位數(shù)的十位數(shù)字),以及把個位數(shù)字和百位數(shù)字組成另一個新的十位數(shù)cd ( 新十位數(shù)的十位數(shù)字是原四位數(shù)的個位數(shù)字, 新十位數(shù)的個位數(shù)字是原四位數(shù)的百位數(shù)字),如果新組成的兩個十位數(shù)ab-cd>=10 且 ab-cd<=20 且兩個數(shù)均是偶數(shù) , 同時兩個新數(shù)的十位數(shù)字均不為零, 則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中 , 并要計算滿足上述條件

43、的四位數(shù)的個數(shù)cnt 。最后 main()函數(shù)調(diào)用寫函數(shù) writeDat() 把結(jié)果 cnt以及數(shù)組 b中符合條件的四位數(shù)輸出到OUT.DAT文件中。void jsVal() /*標(biāo)準(zhǔn)答案 */int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I+)thou=aI/1000; hun=aI%1000/100;ten=aI%100/10; data=aI%10;ab=10*thou+ten; cd=10*data+hun;if (ab-cd)>=0&&(ab-cd)<=10&&ab%2=1&&cd%2=1&&ab!=0&&cd!=0)bcnt=aI;cnt+;for(I=0;I for(j=I+1;j if(bI data=bI; bI=bj;bj=data;題目 30:已知數(shù)據(jù)文件中 , 請考生編制一函數(shù)IN.DAT 中存有 200 個四位數(shù) ,并

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論