


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、題目 1:下列程序的功能是:將大于整數(shù)m且緊靠 m的 k個素數(shù)存入數(shù)組 xx 。請編寫函數(shù) num(int m,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 中存有 200個四位數(shù) , 并已調(diào)
2、用讀函數(shù) readDat() 把這些數(shù)存入數(shù)組 a中 , 請考生編制一函數(shù) jsVal(), 其功能是 : 如果四位數(shù)各位上的數(shù)字均是 0或 2或4或 6或 8, 則統(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 bb4;int I,j,k,flag;for (I=0;I<200;I+)bb0=aI/1000; bb1=aI%1000/100;bb2=aI%100/10;
3、 bb3=aI%10;for (j=0;j<4;j+)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ù)READDA(T )實現(xiàn)從文件 IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組XX中; 請編制函數(shù)STROR(),其函數(shù)功能是 : 以行為單位把字符串中的所有小寫字母O左邊的字符串內(nèi)容移到該串的右邊存放, 然后并把小寫字母 O刪除 ,余下的字符串內(nèi)容移到已處理字符串的左邊存放. 最后把已處理的字符串仍按行重新存入
4、字符串?dāng)?shù)組XX中, 最后調(diào)用函數(shù) WRITEDAT()把結(jié)果 XX輸出到文件 OUT.DAT中.void StrOR(void) /* 標(biāo)準(zhǔn)答案 */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
5、;xxI0=ch;題目 4:函數(shù) ReadDat( ) 實現(xiàn)從文件 IN.DAT 中讀取一篇英文文章存入到字符串?dāng)?shù)組xx 中 ; 請編制函數(shù)StrOL( ), 其函數(shù)的功能是 : 以行為單位對行中以空格或標(biāo)點符號為分隔的所有單詞進(jìn)行倒排,同 時去除標(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;
6、if (c>='A'&&c<='Z')|(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'&&xx
7、lI<='z')&&I>=0)for(j=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,"&quo
8、t;"");k=0;if(I=-1)break; strcpy(xxl,ch);題目5:在文件 in.dat 中有 200個正整數(shù),且每個數(shù)均在 1000至9999之間。函數(shù) ReadDat() 讀取這 200 個數(shù)存放到數(shù)組 aa中。請編制函數(shù) jsSort() ,其函數(shù)的功能是:要求按每個數(shù)的后三位的大小進(jìn)行升序排列,然后取出滿足此條件的前10個數(shù)依次存入數(shù)組 b中,如果后三位的數(shù)值相等,則按原先的數(shù)值進(jìn)行降序排列。最后調(diào)用函數(shù) WriteDat() 把結(jié)果 bb 輸出到文件 out.dat 中。void jsSort() /*標(biāo)準(zhǔn)答案 */int I,j,data;f
9、or(I=0;I<199;I+) for(j=I+1;j<200;j+) if (aaI%1000>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ù)的后三位的大小進(jìn)行
10、 降序排列,然后取出滿足此條件的前10個數(shù)依次存入數(shù)組 b中,如果后三位的數(shù)值相等,則按原先的數(shù)值進(jìn)行升序排列。最后調(diào)用函數(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 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+)b
11、bI=aaI;題目7:已知在文件 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 中,最后調(diào)用函數(shù) WriteDat() 把結(jié)果輸出到文件 OUT10.DAT中
12、。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)<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()
13、 ,按給定的替代關(guān)系對數(shù)組 xx 中的所有字符進(jìn)行替代, 仍存入數(shù)組 xx 的對應(yīng)的位置 上,最后調(diào)用函數(shù) WriteDat() 把結(jié)果 xx 輸出到文件 PS1.DAT中。替代關(guān)系: f(p)=p*11 mod 256 (p 是數(shù)組中某一個字符的 ASCII 值,f(p) 是計算后新字符的 ASCII 值) , 如果計算后 f(p) 值小于等于 32 或大于 130,則該字符不變,否則將 f(p) 所對應(yīng)的字符進(jìn)行替代。 void encryptChar() /* 標(biāo)準(zhǔn)答案 */int I;char *pf;for(I=0;I pf=xxI;while(*pf!=0)if(*pf*11%25
14、6>130|*pf*11%256<=32);else*pf=*pf*11%256;pf+; 9題目:題目 9:函數(shù) ReadDat( ) 實現(xiàn)從文件 IN.DAT 中讀取一篇英文文章存入到字符串?dāng)?shù)組xx 中 ; 請編制函數(shù)SortCharD( ),其函數(shù)的功能是 : 以行為單位對字符按從大到小的順序進(jìn)行排序 , 排序后的結(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=
15、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ù)的功能是 : 以行為單位把字符串中的所有小寫字母改寫成該字母的下一個字母 , 如果是字母 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,
16、j,str;for(I=0;I str =strlen(xxI); for(j=0;jif(xxIj='z')xxIj='a'else if(xxIj>='a'&&xxIj<='y') xxIj+=1;題目 11 :下列程序的功能是:把 s字符串中的所有字母改寫成該字母的下一個字符,字母z改寫成字母 a 。要求大寫字母仍為大寫字母, 小寫字母仍為小寫字母, 其他字符不做改變。 請編寫函數(shù) chg(char *s) 實現(xiàn)程序的要求,最后調(diào)用函數(shù) readwriteDat() 把結(jié)果輸出到文件 out.da
17、t 中。void chg(char*s) /* 標(biāo)準(zhǔn)答案 */while(*s)if(*s='z'|*s='Z')*s-=25;s+;else if(*s>='a'&&*s<='y')*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
18、9;)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( 整型) ,金額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 中,最后調(diào)用函
19、數(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)<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)品銷售記
20、錄由產(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 中,最后調(diào)用函數(shù) WriteDat() 把結(jié)果輸出到文件 OUT6.DAT中。void SortDat() /* 標(biāo)準(zhǔn)答案 */int I,j;PRO xy;for(I=0
21、;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.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ù)大于該四
22、位數(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() /* 標(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
23、; 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ù)字上的值小于等于百位數(shù)字上的值, 百位數(shù)字上的值小于等于十位數(shù)字上的值,十位數(shù)字上的值小于等于個位數(shù)字上的值,并且此四位 數(shù)是偶數(shù),則統(tǒng)計出滿足此條件的個數(shù) cnt, 并把這些四位數(shù)按從大到小的順序存入數(shù)組 b中。最后 main() 函數(shù)調(diào)用寫函數(shù) writeDat( ) 把結(jié)
24、果 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)&&(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ù) Re
25、adDat() 實現(xiàn)從文件 IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中,請編制函數(shù)StrCharJR() ,其函數(shù)的功能是:以行為單位把字符串中所有字符的 ASCII 值右移 4位,然后把右移后 的字符 ASCII值再加上原字符的 ASCII 值,得到新的字符仍存入原字符串對應(yīng)的位置上。最后把已處 理的字符串仍按行重新存入字符串?dāng)?shù)組 xx 中,最后調(diào)用函數(shù) writeDat() 把結(jié)果 xx 輸出到文件 OUT8.DAT中。原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80 個字符,含標(biāo)點符號和空格。void StrCharJR(void) /* 標(biāo)準(zhǔn)答案 */int I,j,strl;
26、for(I=0;I strl=strlen(xxI);for(j=0;j xxIj+=xxIj>>4;題目17:函數(shù)READDA(T )實現(xiàn)從文件 IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組XX中; 請編制函數(shù) CHA(), 其函數(shù)功能是 : 以行為單位把字符串中的第一個字符的ASCII 值加第二個字符的 ASCII 值,得到第一個親朋字符,第二個字符的 ASCII值加第三個字符的 ASCII 值,得到第二個新字符,依此類推 一直處理到最后第二個字符,最后一個字符的ASCII 值加原第一個字符的 ASCII值,得到最后一個新的字符,得到的新字符分別存放在原字符串對應(yīng)的位置上。最
27、后把已處理的字符串逆轉(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(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
28、,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() ,按給定的替代關(guān)系對數(shù)組 xx 中的所有字符進(jìn)行替代, 仍存入數(shù)組 xx 的對應(yīng)的位置 上,最后調(diào)用函數(shù) WriteDat() 把結(jié)果 xx 輸出到文件 PS10.DAT中。替代關(guān)系: f(p)=p*11 mod 256 (p 是數(shù)組中某一個字符的 ASCII 值
29、,f(p) 是計算后新字符的 ASCII 值) , 如果原字符的 ASCII 值是偶數(shù)或計算后 f(p) 值小于等于 32,則該字符不變, 否則將 f(p) 所對應(yīng)的字符 進(jìn)行替代。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%256<=32)else*pf=*pf*11%256;pf+; 題目 19 :編寫一個函數(shù) findstr(), 該函數(shù)統(tǒng)計一個長度為 2的子字符串在另一個字符串中出現(xiàn)的次數(shù)。 例如:假定輸入的字符串為 "asd as
30、asdfg 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) 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
31、39;)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() 讀取 10個數(shù)據(jù) t ,分別得出結(jié)果且把結(jié)果輸出到文件out.dat 中。int jsValue(int t) /*標(biāo)準(zhǔn)答案 */ int f1=0,f2=1,fn;fn=f1+f2; while(fn<=t)f1=f2;f2=fn;fn=f1+f2;return fn;
32、題目 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)(不包括 n)同時能被 3和7整數(shù)的所有自 然數(shù)之和的平方根 s ,并作為函數(shù)值返回,最后結(jié)果 s輸出到文件 out.dat 中。double countValue(int n) /
33、* 標(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.dat 中存有 N個(個數(shù) <200 )四位數(shù)字的正整數(shù),函數(shù) readdat() 讀取這 N個正 整數(shù)并存入數(shù)組 xx 中。請編制函數(shù) calvalue()
34、,其功能要求: 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+xxI;aver=sum/MAXNUM;題目24 :在三位整數(shù) (100 至999) 中尋找符合條件的整數(shù)并依次從小到大存
35、入數(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=data/10;data=data-ten*10;if(hun=ten|hun=data|ten=dat
36、a)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)答案 */int I,strl,half;char xy20;ltoa(n,xy,10);strl=
37、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 ,以及滿足此條件的這些數(shù)(右移前的值) 的算術(shù)平均值 totpjz ,最后調(diào)
38、用函數(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() ,其功能是:求出千位數(shù)上的數(shù)減百位數(shù)減十位數(shù)上的數(shù)減個位數(shù)上的
39、數(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; hun=aI%1000/100;ten=aI%
40、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ù)字和百位數(shù)字組成另一個新的十位
41、數(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;for(I
42、=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個四位
43、數(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
44、中 , 并要計算滿足上述條件的四位數(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&a
45、mp;&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ù)文件 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ù)組
46、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,j,flag=0;for(I=0;I for(j=I+1;j<=I+5;j+)if(aIflag=1;else flag=0;if(aI%2!=0)flag=0;if (flag=0)break;if(flag=1) bcnt=aI;cnt+;for(I=0;I for(j=I+1;j if(bI>bj)flag=bI;bI=bj;bj=
47、flag;題目31 :已知在文件 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 中,最后調(diào)用函數(shù) WriteDat() 把結(jié)果輸出到文件 OUT6.DAT中
48、。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(sellI.jexy=sellI; sell I=sellj; sellj=xy;else if(sellI.je=sellj.je)if(strcmp(sellI.dm,sellj.dm)<0)xy=sellI;sellI=sellj;sellj=xy;題目32 :已知在文件 IN.DAT中存有 100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型 4位) ,產(chǎn)品名稱 mc(字符型10位) ,單價dj( 整型),
49、數(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 中,最后調(diào)用函數(shù) WriteDat() 把結(jié)果輸出到文件 OUT7.DAT中。void SortDat() /* 標(biāo)準(zhǔn)答案 */int I,j;PRO xy;for(I=0;I for(j=I+1;j if(strcmp(sellI.mc,sellj
50、.mc)<0)xy=sellI; sell I=sellj; sellj=xy;else if(strcmp(sellI.mc,sellj.mc)=0)if(sellI.je>sellj.je)xy=sellI;sellI=sellj; sellj=xy;題目33 :請編制函數(shù) ReadDat() 實現(xiàn)從文件 IN.DAT 中讀取 1000個十進(jìn)制整數(shù)到數(shù)組 xx中;請編制函數(shù) Compute() 分別計算出 xx中奇數(shù)的個數(shù) odd,奇數(shù)的平均值 ave1 ,偶數(shù)的平均值 ave2 以及所有奇數(shù)的 方差 totfc 的值,最后調(diào)用函數(shù) WriteDat() 把結(jié)果輸出到 OUT.
51、DAT文件中。計算方差的公式如下: totfc=1/N (xxi-ave1)2 int ReadDat(void) /* 標(biāo)準(zhǔn)答案 */FILE *fp;int I,j;if(fp=fopen(""IN.DAT"",""r"")=NULL) return 1;for(I=0;I<100;I+)for(j=0;j<10;j+)fscanf(fp, ""%d,"", &xxI*10+j);fscanf(fp, ""'n"&
52、quot;);if(feof(fp) break;fclose(fp);return 0;void Compute(void)int I, yyMAX;for(I=0;I<1000;I+)if(xxI%2)odd+;ave1+=xxI; elseeven+;ave2+=xxI; yyeven-1=xxI;ave1/=odd;ave2/=even;for(I=0;I totfc+=(yyI-ave2)*(yyI-ave2)/even;題目34 :下列程序的功能是: 選取出 100以上 1000以內(nèi)所有個位數(shù)字與十位數(shù)字之和被10除所得余數(shù)恰是百位數(shù)字的素數(shù)(如 293 )。計算并輸出上述這
53、些素數(shù)的個數(shù)CNT以及這些素數(shù)值的和 SUM。請編寫函數(shù) COUNTvalue()實現(xiàn)程序要求, 最后調(diào)用函數(shù) WRITEDA(T)把結(jié)果 CNT和 SUM輸出到文件 OUT.DAT 中.void countValue() /* 標(biāo)準(zhǔn)答案 */int I,j,half,hun,ten,data;for(I=101;I<1000;I+)hun=I/100;ten=I%100/10;data=I%10;if(hun=(ten+data)%10)half=I/2;for(j=2;j if(I%j=0) break;if(j>=half)cnt+;sum+=I; 題目35 :某級數(shù)的前兩項
54、 A1=1,A2=1 ,以后各項具有如下關(guān)系: An=An-2+2An-1. 下列程序的功能是:要求依次對于整數(shù)M=100,1000 和10000求出對應(yīng)的 n值,使其滿足: Sn=M,這里Sn=A1+A2+.+An ,并依次把 n值存入數(shù)組單元 b0,b1 和 b2 中,請編制 jsvalue() 函數(shù)來實現(xiàn)此功能, 最后調(diào)用函 數(shù) writeDat() 把數(shù)組 b 中的值輸出到 out.dat 文件中。void jsvalue() /* 標(biāo)準(zhǔn)答案 */int a1=1,a2=1,n=1,an;int sum0,sum;sum0=a1+a2;while(1)an=a1+a2*2;sum=su
55、m0+an;a1=a2; a2=an; n+;if (sum0<100&&sum>100) b0=n;if (sum0<1000&&sum>1000) b1=n;if (sum0<10000&&sum>10000) b2=n; break;sum0=sum;jsvalue()int a1=1,a2=1,a12,sn,k=2;sn=a1+a2;while(1)a12=a1+2*a2;if(sn<100&&sn+a12>=100) b0=k;if(sn<1000&&
56、sn+a12>=1000) b1=k;if(sn<10000&&sn+a12>=10000) b2=k;break;sn=sn+a12;a1=a2;a2=a12;k+;題目36 :函數(shù) ReadDat() 實現(xiàn)從文件 ENG.IN中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中;請編制函數(shù)encryptChar() ,按給定的替代關(guān)系對數(shù)組 xx 中的所有字符進(jìn)行替代, 仍存入數(shù)組 xx 的對應(yīng)的位置 上,最后調(diào)用函數(shù) WriteDat() 把結(jié)果 xx 輸出到文件 PS6.DAT中。替代關(guān)系: f(p)=p*11 mod 256 (p 是數(shù)組中某一個字符的 ASCII 值,f(p) 是計算后新字符的 ASCII 值) , 如果計算后 f(p) 值小于等于
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)設(shè)施確權(quán)管理制度
- 醫(yī)院食堂收費管理制度
- 工作目標(biāo)責(zé)任管理制度
- 軟件測試報告的寫作技巧試題及答案
- 醫(yī)院職工流動管理制度
- 揭秘2025年軟件測試考試中的重點難點試題及答案
- 員工意外保險管理制度
- 工程管理貨物管理制度
- 測試數(shù)據(jù)的生成與管理技巧試題及答案
- 2025時事熱點政治題及參考答案(滿分必刷)
- 2025-2030年中國緩釋和和控釋肥料行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 衛(wèi)生法律法規(guī)的試題及答案
- 2025年廣東省廣州市越秀區(qū)中考物理一模試卷(含答案)
- 2025屆湖北省黃岡市黃州中學(xué)高考生物三模試卷含解析
- 砌磚理論考試題及答案
- 人格性格測試題及答案
- 2025-2030年中國電子變壓器市場運行前景及投資價值研究報告
- 2024年廣東省廣州市越秀區(qū)中考二模數(shù)學(xué)試題(含答案)
- 2025屆各地名校4月上旬高三語文聯(lián)考作文題目及范文12篇匯編
- 【9語一?!?025年4月天津市和平區(qū)九年級中考一模語文試卷(含答案)
評論
0/150
提交評論