版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上全國計(jì)算機(jī)三級考試南開100題上機(jī)題庫題目1:下列程序的功能是:將大于整數(shù)m且緊靠m的k個素?cái)?shù)存入數(shù)組xx。請編寫函數(shù)num(int m,int k,int xx)實(shí)現(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.D
2、AT中存有200個四位數(shù), 并已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal(),其功能是: 如果四位數(shù)各位上的數(shù)字均是0或2或4或6或8, 則統(tǒng)計(jì)出滿足此條件的個數(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; bb3=a
3、I%10;for (j=0;j<4;j+)if (bbj%2=0)flag=1;else flag=0;break;if (flag=1) bcnt=aI;cnt+; for(I=0;I<CNT-1;I+)for(j=I+1;j<CNT;J+)if (bI<BJ)k=bI;bI=bj;bj=k;題目3:函數(shù)READDAT()實(shí)現(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<MAXLINE;I+)strl=strlen(xxI);index=strl;for(j=0;j<STRL;J+)if(xxIj='o')for(k=j;k<STRL-1;K+)xxIk=xxIk+1; xxIstrl-1= ' 'index=j;for(j=strl-1;j>=index;j-)c
5、h=xxIstrl-1;for(k=strl-1;k>0;k-)xxIk=xxIk-1;xxI0=ch;題目4:函數(shù)ReadDat( )實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中; 請編制函數(shù)StrOL( ), 其函數(shù)的功能是: 以行為單位對行中以空格或標(biāo)點(diǎn)符號為分隔的所有單詞進(jìn)行倒排,同時去除標(biāo)點(diǎn)符號,之后把已處理的字符串(應(yīng)不含標(biāo)點(diǎn)符號)仍按行重新存入字符串?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=
6、0;I<MAXLINE;I+)for(j=0;j<STRLEN(XXI);J+)c=xxIj;if (c>='A'&&c<='Z')|(c>='a'&&c<='z')|c=' ') ;else xxIj=' ' for(l=0;l<MAXLINE;L+)char ch80=0; char pp80=0;strl=strlen(xxl);I=strl-1; k=1;while(1)while (xxlI>='a
7、39;&&xxlI<='z')|(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=1;if(I=-1)break; while(xxlI<'A'|xxlI>'z')&&I>=0)for(j=k;j>=
8、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個正整數(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輸出
9、到文件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>aaj%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;題目6:在文件in.dat中有200個正整數(shù),且每個數(shù)均在1000至9999之間。函數(shù)ReadDat()讀取這200個數(shù)存放到數(shù)組aa
10、中。請編制函數(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;for(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>aaj)data
11、=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(字符型10位),單價dj(整型),數(shù)量sl(整型),金額je(長整型)四部分組成。其中:金額=單價*數(shù)量計(jì)算得出。函數(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é)果輸出到文件
12、OUT10.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<SELLJ.JE)xy=sellI; sellI=sellj; sellj=xy;題目8:函數(shù)ReadDat()實(shí)現(xiàn)從文件ENG.IN中讀取一篇英文文章,存入到字符串?dāng)?shù)組xx中;請編制函數(shù)
13、encryptChar(),按給定的替代關(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)是計(jì)算后新字符的ASCII值),如果計(jì)算后f(p)值小于等于32或大于130,則該字符不變,否則將f(p)所對應(yīng)的字符進(jìn)行替代。void encryptChar() /*標(biāo)準(zhǔn)答案*/int I;char *pf;for(I=0;I<MAXLINE;I+)pf=xxI;while(*pf!=0)if(*pf*11%256>
14、;130|*pf*11%256<=32);else*pf=*pf*11%256;pf+; 9題目:題目9:函數(shù)ReadDat( )實(shí)現(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=0;I<MAXLINE;I+)strl=st
15、rlen(xxI);for(j=0;j<STRL-1;J+)for(k=j+1;kif(xxIj<XXIK)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,j,str;for(
16、I=0;I<MAXLINE;I+)str =strlen(xxI);for(j=0;j<STR;J+)if(xxIj='z')xxIj='a'else if(xxIj>='a'&&xxIj<='y') xxIj+=1;題目11:下列程序的功能是:把s字符串中的所有字母改寫成該字母的下一個字符,字母z改寫成字母a。要求大寫字母仍為大寫字母,小寫字母仍為小寫字母,其他字符不做改變。請編寫函數(shù)chg(char *s)實(shí)現(xiàn)程序的要求,最后調(diào)用函數(shù)readwriteDat()把結(jié)果輸出到文件out.d
17、at中。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<K;I+) if(si='z'|si=
18、39;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(整型),金額je(長整型)四部分組成。其中:金額=單價*數(shù)量計(jì)算得出。函數(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é)果輸出到文件OUT5.D
19、AT中。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<SELLJ.JE)xy=sellI; sellI=sellj; sellj=xy;題目13:已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱mc(字
20、符型10位),單價dj(整型),數(shù)量sl(整型),金額je(長整型)四部分組成。其中:金額=單價*數(shù)量計(jì)算得出。函數(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;I<99;I+)for(j=I+1;j<100;j+)if(strcmp(sellI.mc,s
21、ellj.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;題目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)計(jì)出滿足此條件的個數(shù)cnt, 并把這些四位數(shù)按從小到大的順序存入數(shù)組b中。 并要
22、計(jì)算滿足上述條件的四位數(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<MAX-5;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<CNT-1;I+)for(j=I+1;j<CNT;J+)if (bI&g
23、t;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)計(jì)出滿足此條件的個數(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;
24、int a1,a2,a3,a4,k;for (I=0;I<MAX;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<CNT-1;I+)for(j=I+1;j<CNT;J+)if (bI>bj)k=bI;bI=bj;bj=k;1題目:題目16:函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中
25、,請編制函數(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)點(diǎn)符號和空格。void StrCharJR(void) /*標(biāo)準(zhǔn)答案*/int I,j,strl;for(I=0;I<MAXLINE;I+)strl=strlen(xxI);for(j=0;j<STRL;
26、J+)xxIj+=xxIj>>4; 題目17:函數(shù)READDAT()實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組XX中;請編制函數(shù)CHA(),其函數(shù)功能是:以行為單位把字符串中的第一個字符的ASCII值加第二個字符的ASCII值,得到第一個親朋字符,第二個字符的ASCII值加第三個字符的ASCII值,得到第二個新字符,依此類推一直處理到最后第二個字符,最后一個字符的ASCII值加原第一個字符的ASCII值,得到最后一個新的字符,得到的新字符分別存放在原字符串對應(yīng)的位置上。最后把已處理的字符串逆轉(zhuǎn)后按行重新存入字符串?dāng)?shù)組XX中,最后調(diào)用函數(shù)WRITEDAT()把結(jié)果XX輸
27、出到文件OUT9.DAT中.原始數(shù)據(jù)文件存放的格式是:每行的寬度均小于80個字符,含標(biāo)點(diǎn)符號和空格.void ChA(void) /*標(biāo)準(zhǔn)答案*/int I,j,k,str;char ch;for(I=0;I<MAXLINE;I+)str=strlen(xxI);ch=xxI0;for(j=0;j<STR-1;J+)xxIj+=xxIj+1;xxIstr-1+=ch;for(j=0,k=str-1;jch=xxIj;xxIj=xxIk;xxIk=ch; void ChA(void) int i,j;char p,c;for(i=0;i<MAXLINE;I+) p=xxi0;c
28、=xxistrlen(xxi)-1;for(j=0;j<STRLEN(XXI)-1;J+)xxij+=xxij+1;xxistrlen(xxi)-1=p+c;strrev(xxi); 題目18:函數(shù)ReadDat()實(shí)現(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值,f(p)是計(jì)算后新字符的ASCII值),
29、如果原字符的ASCII值是偶數(shù)或計(jì)算后f(p)值小于等于32,則該字符不變,否則將f(p)所對應(yīng)的字符進(jìn)行替代。void encryptChar() /*標(biāo)準(zhǔn)答案*/int I;char *pf;for(I=0;I<MAXLINE;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)計(jì)一個長度為2的子字符串在另一個字符串中出現(xiàn)的次數(shù)。例如:假定輸入的字符串為"asd asasdfg asd as zx67 asd mklo&qu
30、ot;,子字符串為"as",函數(shù)返回值為6。函數(shù)readwriteDat()的功能是實(shí)現(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')n+;str+; return n;題目20:編寫函數(shù)jsvalue,它的功能是
31、:求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; 題目21:下列程序的功能是:利用發(fā)下所示的簡單迭代方法求方程:cos(x)-x=0的一個實(shí)根。xn+1=cos(xn)float
32、 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) /*標(biāo)準(zhǔn)答案*/double xy=0.0;int I;for(I=1;I<N;I+)if(I%3=0&&I%7=0) xy+=I;xy=sq
33、rt(double)xy);return xy;double countvalue(int n) int i,j=0;double k;for(i=0;i<N;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(),其功能要求:1、求出這N個實(shí)數(shù)的平均值aver;2、分別求出這N個實(shí)數(shù)的整數(shù)部分之和sumint以及小數(shù)部分之和sumdec,最后調(diào)用函數(shù)writedat()把
34、所求的結(jié)果輸出到文件out.dat中。void CalValue(void) /*標(biāo)準(zhǔn)答案*/int I;double x,sum=0;for (I=0;I<MAXNUM;I+)sumint=sumint+(int)xxI;x=xxI-(int)xxI;sumdec=sumdec+x;sum=sum+xxI;aver=sum/MAXNUM;題目24:在三位整數(shù)(100至999)中尋找符合條件的整數(shù)并依次從小到大存入數(shù)組中;它既是完全平方數(shù),又是兩位數(shù)字相同,例如144、676等。請編制函數(shù)實(shí)現(xiàn)此功能,滿足該條件的整數(shù)的個數(shù)通過所編制的函數(shù)返回。最后調(diào)用函數(shù)writeDat()把結(jié)果輸出到
35、文件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=data)bbk=I;k+;j+; return k;題目25:下列程序的功能是:尋找并輸出11至999之間的數(shù)m,它滿足m,m2和m3均為回文數(shù)。所謂回文數(shù)是指其各位數(shù)字左右對稱的整數(shù),例如121,67
36、6,94249等。滿足上述條件的數(shù)如m=11,m2=121,m3=1331皆為回文數(shù)。請編制函數(shù)int svalue(long m)實(shí)現(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=strlen(xy);half=strl/2;for(I=0;I<HALF;I+)if(xyI!=xy-strl) break;if(I>=half) return 1;else return 0;題目26:已知在文件
37、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)用函數(shù)writedat()把所求的結(jié)果輸出到文件out.dat中。void CalValue(void) /*標(biāo)準(zhǔn)答案*/int I,data;for(I=0;I<MAXNUM;I+)if(!xxI) break;if(xxI>0) totN
38、um+;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ù)上的數(shù)大于零的個數(shù)cnt,再求出所有滿足此條件的四位數(shù)平均值pjz1,以及不滿足此條件的四位數(shù)平均值pjz2,最后調(diào)用寫函數(shù)writeDat()把結(jié)果輸出到OUT.DAT文件。 例如:9123,9-1-2-3>0,則該數(shù)滿足條件計(jì)算平均值pjz1,且個數(shù)c
39、nt=cnt+1。9812,9-8-1-2<0,則該數(shù)不滿足條件計(jì)算平均值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%100/10; data=aI%10;if (thou-hun-ten-data>0)bcnt=aI;cnt+;for(I=0;I<CNT-1;I+)for(j=I+1;j<CNT;J+)if(bI>bj)data=bI; bI=bj; bj=data;題目28:已知數(shù)據(jù)文
40、件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ù)字組成另一個新的十位數(shù)cd (新十位數(shù)的十位數(shù)字是原四位數(shù)的個位數(shù)字,新十位數(shù)的個位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩個十位數(shù)ab-cd>=0且ab-cd<=10且兩個數(shù)均是奇數(shù), 同時兩個新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件
41、的四位數(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&&
42、;cd%2=1&&ab!=0&&cd!=0)bcnt=aI;cnt+;for(I=0;I<CNT-1;I+)for(j=I+1;j<CNT;J+)if(bI<BJ)data=bI; bI=bj;bj=data;題目29:已知數(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ù)字組成另一個新的十位數(shù)cd (
43、新十位數(shù)的十位數(shù)字是原四位數(shù)的個位數(shù)字,新十位數(shù)的個位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩個十位數(shù)ab-cd>=10且ab-cd<=20且兩個數(shù)均是偶數(shù),同時兩個新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(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
44、; 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<CNT-1;I+)for(j=I+1;j<CNT;J+)if(bI<BJ)data=bI; bI=bj;bj=data;題目30:已知數(shù)據(jù)文件IN.DAT中存有200個四位數(shù), 并
45、已調(diào)用讀函數(shù)readDat()把這些數(shù)存入數(shù)組a中,請考生編制一函數(shù)jsVal(),其功能是: 依次從數(shù)組a中取出一個四位數(shù),如果該數(shù)連續(xù)小于該四位數(shù)以后的5個數(shù)且該數(shù)是偶數(shù), 則統(tǒng)計(jì)出滿足此條件的個數(shù)cnt, 并把這些四位數(shù)按從小到大的順序存入數(shù)組b中。 并要計(jì)算滿足上述條件的四位數(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<MAX-5;I+)for(j=I+1;j<=I+5;j+)if(aI<
46、AJ)flag=1;else flag=0;if(aI%2!=0)flag=0;if (flag=0)break;if(flag=1) bcnt=aI;cnt+;for(I=0;I<CNT-1;I+)for(j=I+1;j<CNT;J+)if(bI>bj)flag=bI;bI=bj;bj=flag;題目31:已知在文件IN.DAT中存有100個產(chǎn)品銷售記錄,每個產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位),產(chǎn)品名稱mc(字符型10位),單價dj(整型),數(shù)量sl(整型),金額je(長整型)四部分組成。其中:金額=單價*數(shù)量計(jì)算得出。函數(shù)ReadDat()是讀取這100個銷售記錄并
47、存入結(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;I<99;I+)for(j=I+1;j<100;j+)if(sellI.je<SELLJ.JE)xy=sellI; sell I=sellj; sellj=xy;else if(sellI.je=sellj.je)if(strcmp(sellI.d
48、m,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(整型),數(shù)量sl(整型),金額je(長整型)四部分組成。其中:金額=單價*數(shù)量計(jì)算得出。函數(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é)果輸出到
49、文件OUT7.DAT中。void SortDat() /*標(biāo)準(zhǔn)答案*/int I,j;PRO xy;for(I=0;I<MAX-1;I+)for(j=I+1;j<MAX;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>sellj.je)xy=sellI;sellI=sellj; sellj=xy;題目33:請編制函數(shù)ReadDat()實(shí)現(xiàn)從文件IN.DAT中讀取1000個十進(jìn)制整數(shù)到數(shù)組xx
50、中;請編制函數(shù)Compute()分別計(jì)算出xx中奇數(shù)的個數(shù)odd,奇數(shù)的平均值ave1,偶數(shù)的平均值ave2以及所有奇數(shù)的方差totfc的值,最后調(diào)用函數(shù)WriteDat()把結(jié)果輸出到OUT.DAT文件中。計(jì)算方差的公式如下:totfc=1/N(xxi-ave1)2int 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+
51、)fscanf(fp, ""%d,"", &xxI*10+j);fscanf(fp, ""'n"");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<EVEN;I+)totfc+=(yy
52、I-ave2)*(yyI-ave2)/even;題目34:下列程序的功能是:選取出100以上1000以內(nèi)所有個位數(shù)字與十位數(shù)字之和被10除所得余數(shù)恰是百位數(shù)字的素?cái)?shù)(如293)。計(jì)算并輸出上述這些素?cái)?shù)的個數(shù)CNT以及這些素?cái)?shù)值的和SUM。請編寫函數(shù)COUNTvalue()實(shí)現(xiàn)程序要求,最后調(diào)用函數(shù)WRITEDAT()把結(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<HALF;J+)if(I%j=0) break;if(j>=half)cnt+;sum+=I; 題目35:某級數(shù)的前兩項(xiàng)A1=1,A2=1,以后各項(xiàng)具有如下關(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ù)來實(shí)現(xiàn)此功能, 最后調(diào)用函數(shù)writeDat()把數(shù)組b中的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度云南省高校教師資格證之高等教育法規(guī)押題練習(xí)試卷B卷附答案
- 2024年度內(nèi)蒙古自治區(qū)高校教師資格證之高校教師職業(yè)道德??碱A(yù)測題庫(奪冠系列)
- 低空經(jīng)濟(jì)產(chǎn)業(yè)園實(shí)施步驟
- 低空經(jīng)濟(jì)公司運(yùn)營管理方案
- 贛南師范大學(xué)《雕塑基礎(chǔ)》2021-2022學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《體育教師語言表達(dá)》2021-2022學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《公共設(shè)施設(shè)計(jì)》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)協(xié)和學(xué)院《國際公法》2021-2022學(xué)年第一學(xué)期期末試卷
- 專題75 實(shí)驗(yàn)六:描繪小燈泡的伏安特性曲線(含答案)-十年(2014-2023)高考物理真題分項(xiàng)匯編(全用)
- 福建師范大學(xué)《寫意人物畫》2023-2024學(xué)年第一學(xué)期期末試卷
- 網(wǎng)吧轉(zhuǎn)讓協(xié)議合同范本(3篇)
- 熔化焊和熱切割基礎(chǔ)知識課件
- 各專業(yè)工程施工組織銜接安排
- 《紀(jì)念白求恩》山東省優(yōu)質(zhì)課一等獎?wù)n件
- 捺的寫法書法課件
- 去括號與添括號-精講版課件
- 江蘇小學(xué)二年級勞動《我會掃地》教案(定稿)
- 電力井施工方案
- 北京市昌平區(qū)天通苑北街道社區(qū)招考聘用30人模擬試卷【共500題附答案解析】
- 細(xì)胞學(xué)標(biāo)本采集工作規(guī)范
- 莎士比亞介紹課件
評論
0/150
提交評論