全國計算機等級考試三級上機題庫(南開100題).doc_第1頁
全國計算機等級考試三級上機題庫(南開100題).doc_第2頁
全國計算機等級考試三級上機題庫(南開100題).doc_第3頁
全國計算機等級考試三級上機題庫(南開100題).doc_第4頁
全國計算機等級考試三級上機題庫(南開100題).doc_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

題目1:下列程序的功能是:將大于整數m且緊靠m的k個素數存入數組xx。請編寫函數num(int m,int k,int xx)實現函數的要求 ,最后調用函數readwriteDAT()把結果輸出到文件out.dat中。 例如:若輸入17,5,則應輸出:19,23,29,31,37。 注意:部分源程序已給出。 請勿改動主函數main()和函數readwriteDAT()的內容。-類型:素數。void num(int m,int k,int xx) /*標準答案*/int data=m+1; int half,n=0,I; while(1) half=data/2;for(I=2;Ihalf) xxn=data;n+; if(n=k)break; data+; 題目2:已知數據文件IN.DAT中存有200個四位數, 并已調用讀函數readDat()把這些數存入數組a中,請考生編制一函數jsVal(),其功能是: 如果四位數各位上的數字均是0或2或4或6或8, 則統(tǒng)計出滿足此條件的個數cnt, 并把這些四位數按從大到小的順序存入數組b中。最后main()函數調用寫函數writeDat( )把結果cnt以及數組b中符合條件的四位數輸出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定義數組: a200, b200, 已定義變量: cnt 請勿改動數據文件IN.DAT中的任何數據、主函數main()、讀函數readDat()和寫函數writeDat()的內容。-void jsVal() /*標準答案*/int bb4;int I,j,k,flag;for (I=0;I200;I+) bb0=aI/1000; bb1=aI%1000/100; bb2=aI%100/10; bb3=aI%10; for (j=0;j4;j+) if (bbj%2=0) flag=1; else flag=0;break; if (flag=1) bcnt=aI; cnt+; for(I=0;Icnt-1;I+) for(j=I+1;jcnt;j+) if (bIbj) k=bI;bI=bj;bj=k; 題目3:函數READDAT()實現從文件IN.DAT中讀取一篇英文文章存入到字符串數組XX中;請編制函數STROR(),其函數功能是:以行為單位把字符串中的所有小寫字母O左邊的字符串內容移到該串的右邊存放,然后并把小寫字母O刪除,余下的字符串內容移到已處理字符串的左邊存放.最后把已處理的字符串仍按行重新存入字符串數組XX中,最后調用函數WRITEDAT()把結果XX輸出到文件OUT.DAT中.例如:原文:You can create an index on any field. you have the correct record. 結果: n any field.You can create an index rd.yu have the crrect rec 原始數據文件存放的格式是:每行的寬度均小于80個字符,含標點符號和空格.-類型:字符串(單詞)的倒置和刪除。答案:void StrOR(void) /*標準答案*/int I,j,k,index,strl; char ch; for(I=0;Imaxline;I+) strl=strlen(xxI); index=strl; for(j=0;jstrl;j+) if(xxIj=o) for(k=j;k=index;j-)ch=xxIstrl-1; for(k=strl-1;k0;k-)xxIk=xxIk-1;xxI0=ch; 題目4:函數ReadDat( )實現從文件IN.DAT中讀取一篇英文文章存入到字符串數組xx中; 請編制函數StrOL( ), 其函數的功能是: 以行為單位對行中以空格或標點符號為分隔的所有單詞進行倒排,同時去除標點符號,之后把已處理的字符串(應不含標點符號)仍按行重新存入字符串數組xx中。最后main()函數調用函數WriteDat()把結果xx輸出到文件OUT6.DAT中。 例如: 原文: You He Me I am a student. 結果: Me He You student a am I 原始數據文件存放的格式是: 每行的寬度均小于80個字符, 含標點符號和空格。-類型:字符串(單詞)的倒置和刪除。答案:void StrOL(void) /*標準答案*/int I,j,k,strl,l;char c;for(I=0;Imaxline;I+) for(j=0;j=A&c=a&c=z)|c= ) ; else xxIj= ; for(l=0;l=a&xxlI=A&xxlI=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(xxlIz)&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(xxl,ch); 題目5:在文件in.dat中有200個正整數,且每個數均在1000至9999之間。函數ReadDat()讀取這200個數存放到數組aa中。請編制函數jsSort(),其函數的功能是:要求按每個數的后三位的大小進行升序排列,然后取出滿足此條件的前10個數依次存入數組b中,如果后三位的數值相等,則按原先的數值進行降序排列。最后調用函數WriteDat()把結果bb輸出到文件out.dat中。例:處理前 6012 5099 9012 7025 8088 處理后 9012 6012 7025 8088 5099 注意:部分源程序已給出。請勿改動主函數main()、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。 -void jsSort() /*標準答案*/int I,j,data;for(I=0;I199;I+) for(j=I+1;jaaj%1000) data=aaI;aaI=aaj;aaj=data; else if(aaI%1000=aaj%1000) if(aaIaaj) data=aaI;aaI=aaj;aaj=data; for(I=0;I10;I+) bbI=aaI;題目6:在文件in.dat中有200個正整數,且每個數均在1000至9999之間。函數ReadDat()讀取這200個數存放到數組aa中。請編制函數jsSort(),其函數的功能是:要求按每個數的后三位的大小進行降序排列,然后取出滿足此條件的前10個數依次存入數組b中,如果后三位的數值相等,則按原先的數值進行升序排列。最后調用函數WriteDat()把結果bb輸出到文件out.dat中。例:處理前 9012 5099 6012 7025 8088 處理后 5099 8088 7025 6012 9012 注意:部分源程序已給出。請勿改動主函數main()、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。 -void jsSort() /*標準答案*/int I,j,data;for(I=0;I199;I+) for(j=I+1;j200;j+) if (aaI%1000aaj) data=aaI;aaI=aaj;aaj=data; for(I=0;I10;I+) bbI=aaI;題目7:已知在文件IN.DAT中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位),產品名稱mc(字符型10位),單價dj(整型),數量sl(整型),金額je(長整型)四部分組成。其中:金額=單價*數量計算得出。函數ReadDat()是讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat(),其功能要求:按產品代碼從大到小進行排列,若產品代碼相同,則按金額從大到小進行排列,最終排列結果仍存入結構數組sell中,最后調用函數WriteDat()把結果輸出到文件OUT10.DAT中。 注意: 部分源程序存放在PROG1.C中。 請勿改動主函數main( )、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。-void SortDat() /*標準答案*/ int I,j; PRO xy; for(I=0;I99;I+) for(j=I+1;j100;j+) if(strcmp(sellI.dm,sellj.dm)0)xy=sellI;sellI=sellj;sellj=xy; else if(strcmp(sellI.dm,sellj.dm)=0) if(sellI.jesellj.je) xy=sellI; sellI=sellj; sellj=xy;題目8:函數ReadDat()實現從文件ENG.IN中讀取一篇英文文章,存入到字符串數組xx中;請編制函數encryptChar(),按給定的替代關系對數組xx中的所有字符進行替代,仍存入數組xx的對應的位置上,最后調用函數WriteDat()把結果xx輸出到文件PS1.DAT中。 替代關系:f(p)=p*11 mod 256 (p是數組中某一個字符的ASCII值,f(p)是計算后新字符的ASCII值),如果計算后f(p)值小于等于32或大于130,則該字符不變,否則將f(p)所對應的字符進行替代。 注意:部分源程序已給出。原始數據文件存放的格式是:每行的寬度均小于80個字符。 請勿改動主函數main()、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。-void encryptChar() /*標準答案*/int I; char *pf; for(I=0;I130|*pf*11%256=32); else*pf=*pf*11%256; pf+; 題目9:函數ReadDat( )實現從文件IN.DAT中讀取一篇英文文章存入到字符串數組xx中; 請編制函數SortCharD( ), 其函數的功能是: 以行為單位對字符按從大到小的順序進行排序, 排序后的結果仍按行重新存入字符串數組xx中。最后main()函數調用函數WriteDat()把結果xx輸出到文件OUT2.DAT中。 例: 原文: dAe,BfC. CCbbAA 結果: fedCBA., bbCCAA 原始數據文件存放的格式是: 每行的寬度均小于80個字符, 含標點符號和空格。 注意: 部分源程序存放在PROG1.C中。 請勿改動主函數main( )、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。-類型:字符串(單詞)的倒置和刪除。答案:void SortCharD(void) /*標準答案*/int I,j,k,strl; char ch; for(I=0;Imaxline;I+) strl=strlen(xxI);for(j=0;jstrl-1;j+)for(k=j+1;kstrl;k+) if(xxIjxxIk) ch=xxIj; xxIj=xxIk; xxIk=ch; 題目10:請編制函數ConvertCharA(), 其函數的功能是: 以行為單位把字符串中的所有小寫字母改寫成該字母的下一個字母, 如果是字母z, 則改寫成字母a,大寫字母和其它字符保持不變。把已處理的字符串仍按行重新存入字符串數組xx中。最后main()函數調用函數WriteDat()把結果xx輸出到文件OUT3.DAT中。 例: 原文: Adb.Bcdza abck.LLhj 結果: Aec.Bdeab bcdl.LLik 原始數據文件存放的格式是: 每行的寬度均小于80個字符, 含標點符號和空格。 注意: 部分源程序存放在PROG1.C中。 請勿改動主函數main( )、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。-類型:字符串(單詞)的倒置和刪除。答案:void ConvertCharA(void) /*標準答案*/ int I,j,str; for(I=0;Imaxline;I+) str =strlen(xxI);for(j=0;j=a&xxIj=a&*s=A&*s=Y)*s+=1;s+;else s+;題目12:已知在文件IN.DAT中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位),產品名稱mc(字符型10位),單價dj(整型),數量sl(整型),金額je(長整型)四部分組成。其中:金額=單價*數量計算得出。函數ReadDat()是讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat(),其功能要求:按產品名稱從小到大進行排列, 若產品名稱相同, 則按金額從小到大進行排列.最終排列結果仍存入結構數組sell中,最后調用函數WriteDat()把結果輸出到文件OUT5.DAT中。 注意: 部分源程序存放在PROG1.C中。 請勿改動主函數main( )、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。-void SortDat() /*標準答案*/ int I,j; PRO xy; for(I=0;I99;I+) for(j=I+1;j100;j+) if(strcmp(sellI.dm,sellj.dm)0)xy=sellI;sellI=sellj;sellj=xy; else if(strcmp(sellI.dm,sellj.dm)=0) if(sellI.jesellj.je) xy=sellI; sellI=sellj; sellj=xy;題目13:已知在文件IN.DAT中存有100個產品銷售記錄,每個產品銷售記錄由產品代碼dm(字符型4位),產品名稱mc(字符型10位),單價dj(整型),數量sl(整型),金額je(長整型)四部分組成。其中:金額=單價*數量計算得出。函數ReadDat()是讀取這100個銷售記錄并存入結構數組sell中。請編制函數SortDat(),其功能要求:按產品代碼從小到大進行排列,若產品代碼相同,則按金額從大到小進行排列,最終排列結果仍存入結構數組sell中,最后調用函數WriteDat()把結果輸出到文件OUT6.DAT中。 注意: 部分源程序存放在PROG1.C中。 請勿改動主函數main( )、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。-void SortDat() /*標準答案*/int I,j; PRO xy; for(I=0;I99;I+) for(j=I+1;j0)xy=sellI; sell I=sellj; sellj=xy;else if(strcmp(sellI.mc,sellj.mc)=0) if(sellI.jesellj.je) xy=sellI; sellI=sellj; sellj=xy;題目14:已知數據文件IN.DAT中存有200個四位數, 并已調用讀函數readDat()把這些數存入數組a中,請考生編制一函數jsVal(),其功能是: 依次從數組a中取出一個四位數,如果該數連續(xù)大于該四位數以后的5個數且該數是奇數, 則統(tǒng)計出滿足此條件的個數cnt, 并把這些四位數按從小到大的順序存入數組b中。 并要計算滿足上述條件的四位數的個數cnt。最后main()函數調用寫函數writeDat( )把結果cnt以及數組b中符合條件的四位數輸出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定義數組: a200, b200, 已定義變量: cnt 請勿改動數據文件IN.DAT中的任何數據、主函數main()、讀函數readDat()和寫函數writeDat()的內容。-void jsVal() /*標準答案*/int I,j,flag=0;int k;for(I=0;IMAX-5;I+) for(j=I+1;jaj) flag=1; else flag=0;break; if (aI%2=0) flag=0; if (flag=1) bcnt=aI; cnt+; for(I=0;Icnt-1;I+) for(j=I+1;jbj) k=bI;bI=bj;bj=k;題目15:已知數據文件IN.DAT中存有200個四位數, 并已調用讀函數readDat()把這些數存入數組a中,請考生編制一函數jsVal(),其功能是:若一個四位數的千位數字上的值小于等于百位數字上的值,百位數字上的值小于等于十位數字上的值,十位數字上的值小于等于個位數字上的值,并且此四位數是偶數,則統(tǒng)計出滿足此條件的個數cnt, 并把這些四位數按從大到小的順序存入數組b中。最后main()函數調用寫函數writeDat( )把結果cnt以及數組b中符合條件的四位數輸出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定義數組: a200, b200, 已定義變量: cnt 請勿改動主函數main()、讀函數readDat()和寫函數writeDat()的內容。-void jsVal() /*標準答案*/int I,j;int a1,a2,a3,a4,k;for (I=0;IMAX;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;Icnt-1;I+) for(j=I+1;jbj) k=bI;bI=bj;bj=k;題目16:函數ReadDat()實現從文件IN.DAT中讀取一篇英文文章存入到字符串數組xx中,請編制函數StrCharJR(),其函數的功能是:以行為單位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串對應的位置上。最后把已處理的字符串仍按行重新存入字符串數組xx中,最后調用函數writeDat()把結果xx輸出到文件OUT8.DAT中。原始數據文件存放的格式是:每行的寬度均小于80個字符,含標點符號和空格。 注意:部分源程序已給出。 請勿改動主函數main()、讀數據函數ReadDat()和輸出數據函數writeDat()的內容。-void StrCharJR(void) /*標準答案*/ int I,j,strl; for(I=0;Imaxline;I+) strl=strlen(xxI); for(j=0;j4; 注:這個編程題比二級考得還簡單。void StrCharJR(void)int i,j;for(i=0;i4;題目17:函數READDAT()實現從文件IN.DAT中讀取一篇英文文章存入到字符串數組XX中;請編制函數CHA(),其函數功能是:以行為單位把字符串中的第一個字符的ASCII值加第二個字符的ASCII值,得到第一個親朋字符,第二個字符的ASCII值加第三個字符的ASCII值,得到第二個新字符,依此類推一直處理到最后第二個字符,最后一個字符的ASCII值加原第一個字符的ASCII值,得到最后一個新的字符,得到的新字符分別存放在原字符串對應的位置上。最后把已處理的字符串逆轉后按行重新存入字符串數組XX中,最后調用函數WRITEDAT()把結果XX輸出到文件OUT9.DAT中.原始數據文件存放的格式是:每行的寬度均小于80個字符,含標點符號和空格. 注意:部分源程序已給出。 請勿改動主函數main()、讀數據函數ReadDat()和輸出數據函數writeDat()的內容。-void ChA(void) /*標準答案*/ int I,j,k,str; char ch; for(I=0;Imaxline;I+)str=strlen(xxI); ch=xxI0; for(j=0;jstr-1;j+) xxIj+=xxIj+1; xxIstr-1+=ch; for(j=0,k=str-1;jstr/2;j+,k-) ch=xxIj; xxIj=xxIk; xxIk=ch; 題目18:函數ReadDat()實現從文件ENG.IN中讀取一篇英文文章,存入到字符串數組xx中;請編制函數encryptChar(),按給定的替代關系對數組xx中的所有字符進行替代,仍存入數組xx的對應的位置上,最后調用函數WriteDat()把結果xx輸出到文件PS10.DAT中。 替代關系:f(p)=p*11 mod 256 (p是數組中某一個字符的ASCII值,f(p)是計算后新字符的ASCII值),如果原字符的ASCII值是偶數或計算后f(p)值小于等于32,則該字符不變,否則將f(p)所對應的字符進行替代。 注意:部分源程序已給出。原始數據文件存放的格式是:每行的寬度均小于80個字符。 請勿改動主函數main()、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。-void encryptChar() /*標準答案*/int I; char *pf; for(I=0;Imaxline;I+) pf=xxI; while(*pf!=0) if(*pf%2=0|*pf*11%256=32) ;else*pf=*pf*11%256; pf+; 題目19:編寫一個函數findstr(),該函數統(tǒng)計一個長度為2的子字符串在另一個字符串中出現的次數。例如:假定輸入的字符串為asd asasdfg asd as zx67 asd mklo,子字符串為as,函數返回值為6。 函數readwriteDat()的功能是實現從文件in.dat中讀取兩個字符穿4,并調用函數findstr(),最后把結果輸出到文件out.dat中。 注意:部分源程序已給出。 請勿改動主函數main()和函數ReadWrite()的內容。-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) n+; str+; return n; 題目20:編寫函數jsvalue,它的功能是:求Fibonacci數列中大于t的最小的一個數,結果由函數返回。其中Fibonacci數列F(n)的定義為: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2)最后調用函數writeDat()讀取10個數據t,分別得出結果且把結果輸出到文件out.dat中。 例如:當t=1000時,函數值為:1597。 注意:部分源程序已給出。 請勿改動主函數main()和寫函數writeDat()的內容。-int jsValue(int t) /*標準答案*/ 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)迭代步驟如下:(1)取X1初值為0.0;(2)X0=X1,把X1的值賦給X0;(3)X1=COS(X0),求出一個新的X1;(4)若X0-X1絕對值小0.000001,執(zhí)行步驟(5),否則執(zhí)行步驟(2);(5)所求X1就是方程cos(X)-X=0的一個實根,作為函數值返回。請編寫函數countvalue()實現程序的要求,最后調用函數WRITEDAT()把結果輸出到文件OUT17.DAT中。 注意:部分源程序已給出。 請勿改動主函數main()和輸出數據函數writeDAT()的內容。-float countValue() /*標準答案*/float x0,x1=0.0;while(1)x0=x1;x1=cos(x0);if(fabs(x0-x1)1e-6) break;return x1;題目22:請編寫函數countvalue(),它的功能是:求n以內(不包括n)同時能被3和7整數的所有自然數之和的平方根s,并作為函數值返回,最后結果s輸出到文件out.dat中。 例如若n為1000時,函數值應為:s=153.909064。 注意:部分源程序已給出。請勿改動主函數main()和輸入輸出數據函數progreadwrite()的內容。-double countValue(int n) /*標準答案*/double xy=0.0;int I;for(I=1;In;I+)if(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;in;i+) if(i%3=0&i%7=0) j+=i; k=sqrt(j); return k; 題目23:已知在文件in.dat中存有N個(個數200)四位數字的正整數,函數readdat()讀取這N個正整數并存入數組xx中。請編制函數calvalue(),其功能要求:1、求出這N個實數的平均值aver;2、分別求出這N個實數的整數部分之和sumint以及小數部分之和sumdec,最后調用函數writedat()把所求的結果輸出到文件out.dat中。 注意:部分源程序已給出。 請勿改動主函數main()、讀數據函數readdat()和輸出數據函數writedat()的內容。-void CalValue(void) /*標準答案*/int I; double x,sum=0; for (I=0;IMAXNUM;I+) sumint=sumint+(int)xxI; x=xxI-(int)xxI; sumdec=sumdec+x; sum=sum+xxI; aver=sum/MAXNUM;題目24:在三位整數(100至999)中尋找符合條件的整數并依次從小到大存入數組中;它既是完全平方數,又是兩位數字相同,例如144、676等。請編制函數實現此功能,滿足該條件的整數的個數通過所編制的函數返回。最后調用函數writeDat()把結果輸出到文件out.dat中。 注意:部分源程序已給出。 請勿改動主函數main()和寫函數writeDat()的內容。-jsValue(int a109) /*標準答案*/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=data)bbk=I;k+;j+; return k;題目25:下列程序的功能是:尋找并輸出11至999之間的數m,它滿足m,m2和m3均為回文數。所謂回文數是指其各位數字左右對稱的整數,例如121,676,94249等。滿足上述條件的數如m=11,m2=121,m3=1331皆為回文數。請編制函數int svalue(long m)實現此功能,如果是回文數,則函數返回1,反之則返回0。最后把結果輸出到文件out.dat中。 注意:部分源程序已給出。 請勿改動主函數main()的內容。-int jsValue(long n) /*標準答案*/int I,strl,half; char xy20; ltoa(n,xy,10); strl=strlen(xy); half=strl/2; for(I=0;I=half) return 1; else return 0;題目26:已知在文件in.dat中存有若干個(個數200)四位數字的正整數,函數readdat()讀取這若干個正整數并存入數組xx中。請編制函數calvalue(),其功能要求:1、求出這文件中共有多少個正整數totnum;2、求這些數右移1位后,產生的新數是偶數的數的個數totcnt,以及滿足此條件的這些數(右移前的值)的算術平均值totpjz,最后調用函數writedat()把所求的結果輸出到文件out.dat中。 注意:部分源程序已給出。 請勿改動主函數main()、讀數據函數readdat()和輸出數據函數writedat()的內容。-void CalValue(void) /*標準答案*/int I,data; for(I=0;I0) totNum+; data=xxI1; if (data%2=0)totCnt+;totPjz+=xxI; totPjz/=totCnt;題目27:已知數據文件IN.DAT中存有300個四位數,并已調用讀函數ReadDat()把這些數存入數組a中,請編制一函數jsvalue(),其功能是:求出千位數上的數減百位數減十位數上的數減個位數上的數大于零的個數cnt,再求出所有滿足此條件的四位數平均值pjz1,以及不滿足此條件的四位數平均值pjz2,最后調用寫函數writeDat()把結果輸出到OUT.DAT文件。 例如:9123,9-1-2-30,則該數滿足條件計算平均值pjz1,且個數cnt=cnt+1。 9812,9-8-1-20,則該數不滿足條件計算平均值pjz2. 注意:部分源程序已給出。 程序中已定義數組:a300,已定義變量:cnt 請勿改動主函數main()、讀函數ReadDat()和寫函數writeDat()的內容。-void jsValue() /*標準答案*/int I,thou,hun,ten,data,j;for(I=0;I0)bcnt=aI;cnt+; for(I=0;Icnt-1;I+) for(j=I+1;jbj) data=bI; bI=bj; bj=data;題目28:已知數據文件IN.DAT中存有200個四位數, 并已調用讀函數readDat()把這些數存入數組a中,請考生編制一函數jsVal(),其功能是: 把千位數字和十位數字重新組成一個新的十位數ab(新十位數的十位數字是原四位數的千位數字,新十位數的個位數字是原四位數的十位數字), 以及把個位數字和百位數字組成另一個新的十位數cd (新十位數的十位數字是原四位數的個位數字,新十位數的個位數字是原四位數的百位數字), 如果新組成的兩個十位數ab-cd=0且ab-cd=10且兩個數均是奇數, 同時兩個新數的十位數字均不為零,則將滿足此條件的四位數按從大到小的順序存入數組b中, 并要計算滿足上述條件的四位數的個數cnt。最后main()函數調用寫函數writeDat( )把結果cnt以及數組b中符合條件的四位數輸出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定義數組: a200, b200, 已定義變量: cnt 請勿改動數據文件IN.DAT中的任何數據、主函數main()、讀函數readDat()和寫函數writeDat()的內容。-void jsVal() /*標準答案*/int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I=0&(ab-cd)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論