久久99热66热这里只有精品,特黄特色的大片在线观看,亚洲日本三级在线观看,国产三级农村妇女在线,亚洲av毛片免费在线观看,哺乳叫自慰在线看,天天干美女av网

計(jì)算機(jī)等級(jí)考試三級(jí)C語(yǔ)言上機(jī)考試試題總結(jié)

時(shí)間:2024-08-18 15:46:44 學(xué)人智庫(kù) 我要投稿
  • 相關(guān)推薦

計(jì)算機(jī)等級(jí)考試三級(jí)(C語(yǔ)言)上機(jī)考試試題總結(jié)

第一種: 產(chǎn)品銷售記錄問題:

計(jì)算機(jī)等級(jí)考試三級(jí)(C語(yǔ)言)上機(jī)考試試題總結(jié)

?? /* 已知在文件IN.DAT中存有100個(gè)產(chǎn)品銷售記錄, 每個(gè)產(chǎn)品銷售記錄由產(chǎn)品代碼dm(字符型4位), 產(chǎn)品名稱mc(字符型10位), 單價(jià)dj(整型), 數(shù)量sl(整型), 金額je(長(zhǎng)整型)五部分組成。 其中:

?? 金額=單價(jià)*數(shù)量計(jì)算得出。函數(shù)ReadDat( )讀取這100個(gè)銷售記錄并存入結(jié)構(gòu)數(shù)組sell中。請(qǐng)編制函數(shù)SortDat( ), 其功能要求: 按金額從小到大進(jìn)行排列, 若金額相等, 則按產(chǎn)品代碼從小到大進(jìn)行排列, 最終排列結(jié)果仍存入結(jié)構(gòu)數(shù)組sell中。最后main( )函 數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果輸出到文件OUT1.DAT中。 注意: 部分源程序存放在PROG1.C中。

?? #define MAX 100

?? typedef struct {

?? char dm[5] ; /* 產(chǎn)品代碼 */

?? char mc[11] ; /* 產(chǎn)品名稱 */

?? int dj ; /* 單價(jià) */

?? int sl ; /* 數(shù)量 */

?? long je ; /* 金額 */

?? } PRO ;

?? 函數(shù)解析://if((sell[i].je>sell[j].je)||(sell[i].je==sell[j].je)&&(strcmp(sell[i].dm,

?? sell[j].dm)>0))是此題的精華所在理解它 就理解了這道題的編程道理

?? 首先sell[i].je>sell[j].je如果金額大小成立的話,就條件成立,把兩個(gè)數(shù)據(jù)換位置,如果前者不成立,就判定金額是否 相等,如果相等的話,代碼還有大小的話,按從小到大的順序排列。

?? 這種函數(shù)的編程方法,適用于有一定基礎(chǔ)的編程者,如果是初學(xué)者的話建議用以下函數(shù)來表達(dá), 此方法是按照題意一部一部來分析的,是比較保守的編程方法。

?? void SortDat()

?? { int i,j;

?? PRO swap;

?? for(i=0; i < MAX-1; i++)

?? { for(j=i+1; j < MAX; j++)

?? if(sell[i].je>sell[j].je)

?? {swap=sell[i]; sell[i]=sell[j]; sell[j]=swap;}

?? else if((sell[i].je==sell[j].je)&&(strcmp(sell[i].dm,sell[j].dm)>0))

?? {swap=sell[i]; sell[i]=sell[j]; sell[j]=swap;}

?? }

??100個(gè)產(chǎn)品銷售記錄排序其余9題說明

?? 1) in.dat 內(nèi)容完全相同。

?? 2) 程序也基本雷同,僅排序的要求不一樣。

?? 3) 考生應(yīng)熟悉 strcmp() 函數(shù),否則有的題相當(dāng)不好處理。

?? 試題變化 :

?? 排序要求:

?? 按金額從小到大進(jìn)行排列, 若金額相等, 則按產(chǎn)品代碼從大到小 進(jìn)行排列 相應(yīng)語(yǔ)句:

?? if((sell[i].je>sell[j].je)||( (sell[i].je==sell[j].je) && (strcmp(sell[i].dm, sell[j].dm) < 0)))

?? 排序要求: 按金額從大到小進(jìn)行排列, 若金額相等, 則按產(chǎn)品代碼從小到大 進(jìn)行排列 相應(yīng)語(yǔ)句: if((sell[i].je < sell[j].je)||(sell[i].je==sell[j].je)&&(strcmp(sell[i].dm, sell[j].dm)>0))

?? 排序要求:

?? 按金額從大到小進(jìn)行排列, 若金額相等, 則按產(chǎn)品代碼從大到小 進(jìn)行排列 相應(yīng)語(yǔ)句:

?? if((sell[i].je < sell[j].je)||(sell[i].je==sell[j].je)&&(strcmp(sell[i].dm,sell[j].dm)<0))

?? 排序要求:

?? 按產(chǎn)品名稱從小到大進(jìn)行排列, 若產(chǎn)品名稱相同, 則按金額從小 到大進(jìn)行排列

?? if((strcmp(sell[i].mc, sell[j].mc)>0)||(strcmp(sell[i].mc,sell[j].mc)==0)&&(sell[i].je>sell[j].je))

?? 排序要求:

?? 按產(chǎn)品名稱從小到大進(jìn)行排列, 若產(chǎn)品名稱相同, 則按金額從大 到小進(jìn)行排列

?? if(strcmp(sell[i].mc, sell[j].mc)>0 || (strcmp(sell[i].mc, sell[j].mc)==0)&&(sell[i].je < sell[j].je))

?? 排序要求:

?? 按產(chǎn)品名稱從大到小進(jìn)行排列, 若產(chǎn)品名稱相同, 則按金額從小 到大進(jìn)行排列

?? if((strcmp(sell[i].mc, sell[j].mc) < 0) || (strcmp(sell[i].mc,sell[j].mc)==0)&&(sell[i].je>sell[j].je))

?? 排序要求:

?? 按產(chǎn)品名稱從大到小進(jìn)行排列, 若產(chǎn)品名稱相同, 則按金額從大 到小進(jìn)行排列

?? if((strcmp(sell[i].mc, sell[j].mc) < 0)|| (strcmp(sell[i].mc, sell[j].mc)==0)&&(sell[i].je < sell[j].je))

?? 排序要求:

?? 按產(chǎn)品代碼從小到大進(jìn)行排列, 若產(chǎn)品代碼相同, 則按金額從小 到大進(jìn)行排列

?? if((strcmp(sell[i].dm, sell[j].dm)>0)||(strcmp(sell[i].dm,sell[j].dm)==0)&&(sell[i].je>sell[j].je

??

??第二類習(xí)題 300個(gè)四位數(shù)問題:

?? 300個(gè)四位數(shù)問題(此類共10題) 本類10題中,五題產(chǎn)生數(shù)組B,并對(duì)B按一定要求排序;

?? 其余五題是求平均值。我把它們分成兩組五題來討論。 以下為產(chǎn)生數(shù)組B之題一:

?? 已知數(shù)據(jù)文件IN.DAT中存有300個(gè)四位數(shù), 并已調(diào)用讀函數(shù) readDat()把這些數(shù)存入數(shù)組a中, 請(qǐng)編制一函數(shù)jsvalue(),其功 能是: 求出個(gè)位數(shù)上的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位 數(shù)上的數(shù)大于零的個(gè)數(shù)cnt, 再把所有滿足此條件的四位數(shù)依次 存入數(shù)組b中, 然后對(duì)數(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中, 且個(gè)數(shù)cnt=cnt+1。

?? 8129, 9-8-1-2<0, 則該數(shù)不滿足條件忽略。 程序中已定義數(shù)組: a[300], b[300], 已定義變量: cnt

?? #include

?? int a[300], b[300], cnt=0 ;

?? jsvalue()

?? {/**/

?? int i,j,g,s,b,q,t;

?? for(i=0; i < 300; i++)

?? {g=a[i]%10; /*個(gè)位的數(shù)字*/

?? s=a[i]/10%10; /*十位的數(shù)字*/

?? b=a[i]/100%10; /*百位的數(shù)字*/

?? q=a[i]/1000; /*千位的數(shù)字*/

?? if(g-q-b-s>0)

?? b[cnt++]=a[i];

?? for(i=0; i < cnt-1; i++)

?? for(j=i+1; j < cnt; j++)

?? if(b[i] < b[j])

?? { t=b[i]; b[i]=b[j]; b[j]=t; }

?? }

?? /**/

?? }

?? 相似題 求出所有這些四位數(shù)是素?cái)?shù)的個(gè)數(shù)cnt, 再把所有滿足此 條件的四位數(shù)依次存入數(shù)組b中, 然后對(duì)數(shù)組b的四位數(shù)按從小到 大的順序進(jìn)行排序。

?? jsvalue()

?? { int i,j,t;

?? for(i=0; i < 300; i++)

?? { for(j=2;j?? if(a[i]%j==0) break;

?? if(j==a[i])

?? b[cnt++]=a[i];

?? for(i=0; i < cnt-1; i++) /*排序*/

?? for(j=i+1; j < cnt; j++)

?? if(b[i] < b[j])

?? { t=b[i]; b[i]=b[j]; b[j]=t; }

?? }

?? 要求: 求出千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個(gè)位 數(shù)上的數(shù)大于零的個(gè)數(shù)cnt, 再把所有滿足此條件的四位數(shù)依次 存入數(shù)組b中, 然后對(duì)數(shù)組b的四位數(shù)按從小到大的順序進(jìn)行排序。

?? if(q-b-s-g>0)

?? b[cnt++]=a[i];

?? 要求: 求出千位數(shù)上的數(shù)加百位數(shù)上的數(shù)等于十位數(shù)上的數(shù)加個(gè) 位數(shù)上的數(shù)的個(gè)數(shù)cnt, 再把所有滿足此條件的四位數(shù)依次存入 數(shù)組b中, 然后對(duì)數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序。

?? if((q+b)==(s+g))

?? b[cnt++]=a[i];

??

??

??類型題三:300個(gè)數(shù)滿足條件的求平均值

??

??求滿足條件的數(shù)的個(gè)數(shù)、平均值及不滿足條件的數(shù)的平均 值等,此類也是五題。本處僅給出一個(gè)全題,其余題只給出不同 之處。

?? 已知數(shù)據(jù)文件IN.DAT中存有300個(gè)四位數(shù), 并已調(diào)用讀函數(shù) readDat()把這些數(shù)存入數(shù)組a中, 請(qǐng)編制一函數(shù)jsvalue(),其功 能是: 求出千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位數(shù)上的數(shù)減個(gè)位 數(shù)上的數(shù)大于零的個(gè)數(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ù)滿足條件計(jì)算平均值pjz1, 且個(gè)數(shù)cnt=cnt+1。 9812, 9-8-1-2<0, 則該數(shù)不滿足條件計(jì)算平均值pjz2。 程序中已定義數(shù)組: a[300], 已定義變量: cnt,pjz1,pjz2

??

?? int a[300], cnt=0 ;

?? double pjz1=0.0, pjz2=0.0 ;

?? jsvalue()

?? {/**/

?? int i,g,s,b,q;

?? for(i=0; i < 300; i++)

?? {g=a[i]%10; /*個(gè)位的數(shù)字*/

?? s=a[i]/10%10; /*十位的數(shù)字*/

?? b=a[i]/100%10; /*百位的數(shù)字*/

?? q=a[i]/1000; /*千位的數(shù)字*/

?? if(g-q-b-s>0)

?? { cnt++; pjz1+=a[i]; }

?? else pjz2+=a[i];

?? if(cnt) pjz1/=cnt;

?? if(cnt<300) pjz2/=300-cnt;

?? /**/

?? }

?? 之二 要求:

?? 求出千位數(shù)上的數(shù)加百位數(shù)上的數(shù)等于十位數(shù)上的數(shù)加個(gè) 位數(shù)上的數(shù)的個(gè)數(shù)cnt, 再求出所有滿足此條件的四位數(shù)平均值 pjz1, 以及所有不滿足此條件的四位數(shù)平均值pjz2。

?? if((q+b)==(g+s))

?? { cnt++; pjz1+=a[i]; }

?? else pjz2+=a[i];

?? 之三 要求:

?? 求出個(gè)位數(shù)上的數(shù)減千位數(shù)上的數(shù)減百位數(shù)上的數(shù)減十位 數(shù)上的數(shù)小于零的個(gè)數(shù)cnt, 再求出所有滿足此條件的四位數(shù)平 均值pjz1, 以及所有不滿足此條件的四位數(shù)平均值pjz2。

?? if(g-q-b-s<0)

?? { cnt++; pjz1+=a[i]; }

?? else pjz2+=a[i];

?? 之四 要求:

?? 求出所有這些四位數(shù)是素?cái)?shù)的個(gè)數(shù)cnt, 再求出所有滿足 此條件的四位數(shù)平均z值pjz1, 以及所有不滿足此條件的四位數(shù)平 均值pjz2。

?? jsvalue()

?? {/**/

?? int i,j,t;

?? for(i=0; i < 300; i++)

?? { for(j=2;j?? if(a[i]%j==0)

?? {pjz2+=a[i];

?? break;}

?? if(j==a[i])

?? {cnt++; pjz1+=a[i];}

?? if(cnt) pjz1/=cnt;

?? if(cnt<300) pjz2/=300-cnt;

?? }

??

?? 之五 要求:

?? 求出千位數(shù)上的數(shù)加個(gè)位數(shù)上的數(shù)等于百位數(shù)上的數(shù)加十 位數(shù)上的數(shù)的個(gè)數(shù)cnt, 再求出所有滿足此條件的四位數(shù)平均值 pjz1, 以及所有不滿足此條件的四位數(shù)平均值pjz2。

?? if((q+g)==(b+s))

?? { cnt++; pjz1+=a[i]; }

?? else pjz2+=a[i];

?? code:

?? /*

??類型題四: 200個(gè)四位數(shù)題:

??

?? 已知數(shù)據(jù)文件IN.DAT中存有200個(gè)四位數(shù), 并已調(diào)用讀函數(shù) readDat()把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal(),其 功能是: 把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新

?? 十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字), 以及把個(gè)位數(shù)字和百位數(shù)字組成另一 個(gè)新的十位數(shù)cd (新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字, 新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩 個(gè)十位數(shù)ab>cd, ab必須是偶數(shù)且能被5整除, cd必須是奇數(shù),同 時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從 大到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù)的 個(gè)數(shù)cnt。 程序中已定義數(shù)組: a[200], b[200], 已定義變量: cnt

?? #include

?? #define MAX 200

?? int a[MAX], b[MAX], cnt = 0 ;

?? void jsVal()

?? {/**/

?? int i,j,k,A,B,C,D;

?? for(i=0; i < MAX; i++)

?? { A=a[i]/1000; B=a[i]/10%10; C=a[i]%10; D=a[i]/100%10;

?? if(A&&C&&(B==0)&&(D%2)&&(10*A>10*C+D))

?? b[cnt++]=a[i];

?? }

?? for(i=0; i < cnt-1; i++)

?? { k=i;

?? for(j=i+1; j < cnt; j++)

?? if(b[k] < b[j]) k=j;

?? if(k!=i) {A=b[k]; b[k]=b[i]; b[i]=A;}

?? }

?? /**/

?? }

??200個(gè)四位數(shù)題之其余九題說明

?? 之二 要求:

?? 把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)(新十 位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是 原四位數(shù)的十位數(shù)字), 以及把個(gè)位數(shù)字和百位數(shù)字組成另一個(gè) 新的十位數(shù)(新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字, 新十 位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩個(gè)十

?? 位數(shù)均是素?cái)?shù)且新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四 位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的 四位數(shù)的個(gè)數(shù)cnt。

??

?? 要求: 把個(gè)位數(shù)字和千位數(shù)字重新組成一個(gè)新的十位數(shù)(新十 位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是 原四位數(shù)的千位數(shù)字), 以及把百位數(shù)字和十位數(shù)字組成另一個(gè) 新的十位數(shù)(新十位數(shù)的十位數(shù)字是原四位數(shù)的百位數(shù)字, 新十 位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字), 如果新組成的兩個(gè)十 位數(shù)必須是一個(gè)奇數(shù),另一個(gè)為偶數(shù)并且兩個(gè)十位數(shù)中至少有一 個(gè)數(shù)能被17整除,同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零, 則將滿足 此條件的四位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿足

?? 上述條件的四位數(shù)的個(gè)數(shù)cnt。

?? 之四 要求:

?? )把這些數(shù)存入數(shù)組a中,請(qǐng)考生編制一函數(shù)jsVal(),其 功能是: 把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新 十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字 是原四位數(shù)的十位數(shù)字), 以及把個(gè)位數(shù)字和百位數(shù)字組成另一 個(gè)新的十位數(shù)cd (新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字, 新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩 個(gè)十位數(shù)ab-cd>=10且ab-cd<=20且兩個(gè)數(shù)均是偶數(shù),同時(shí)兩個(gè)新 數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的 順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt。

?? 之五 要求: 如果四位數(shù)各位上的數(shù)字均是0或2或4或6或8, 則統(tǒng)計(jì) 出滿足此條件的個(gè)數(shù)cnt, 并把這些四位數(shù)按從大到小的順序存 入數(shù)組b中。

?? 之六 要求:

?? 把千位數(shù)字和個(gè)位數(shù)字重新組成一個(gè)新的十位數(shù)(新十 位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是 原四位數(shù)的個(gè)位數(shù)字), 以及把百位數(shù)字和十位數(shù)字組成另一個(gè) 新的十位數(shù)(新十位數(shù)的十位數(shù)字是原四位數(shù)的百位數(shù)字, 新十 位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字), 如果新組成的兩個(gè)十

?? 位數(shù)均是奇數(shù)并且兩個(gè)十位數(shù)中至少有一個(gè)數(shù)能被5整除, 同時(shí) 兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大 到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù)的個(gè) 數(shù)cnt。

?? 之七 要求:

?? 把個(gè)位數(shù)字和千位數(shù)字重新組成一個(gè)新的十位數(shù)(新十 位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字,新十位數(shù)的個(gè)位數(shù)字是 原四位數(shù)的千位數(shù)字), 以及把百位數(shù)字和十位數(shù)字組成另一個(gè) 新的十位數(shù)(新十位數(shù)的十位數(shù)字是原四位數(shù)的百位數(shù)字, 新十 位數(shù)的個(gè)位數(shù)字是原四位數(shù)的十位數(shù)字), 如果新組成的兩個(gè)十

?? 位數(shù)均是偶數(shù)并且兩個(gè)十位數(shù)中至少有一個(gè)數(shù)能被9整除, 同時(shí) 兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大 到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù)的個(gè) 數(shù)cnt。

?? 之八 要求:

?? 把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新 十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字 是原四位數(shù)的十位數(shù)字), 以及把個(gè)位數(shù)字和百位數(shù)字組成另一 個(gè)新的十位數(shù)cd (新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字, 新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩

?? 個(gè)十位數(shù)ab 同時(shí)兩個(gè)新數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按 從大到小的順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù) 的個(gè)數(shù)cnt。

?? 之九 要求:

?? 如果四位數(shù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計(jì)出滿足此條 件的個(gè)數(shù)cnt并把這些四位數(shù)按從大到小的順序存入數(shù)組b中。

?? 之十 要求:

?? 把千位數(shù)字和十位數(shù)字重新組成一個(gè)新的十位數(shù)ab(新 十位數(shù)的十位數(shù)字是原四位數(shù)的千位數(shù)字,新十位數(shù)的個(gè)位數(shù)字 是原四位數(shù)的十位數(shù)字), 以及把個(gè)位數(shù)字和百位數(shù)字組成另一 個(gè)新的十位數(shù)cd (新十位數(shù)的十位數(shù)字是原四位數(shù)的個(gè)位數(shù)字, 新十位數(shù)的個(gè)位數(shù)字是原四位數(shù)的百位數(shù)字), 如果新組成的兩

?? 個(gè)十位數(shù)ab-cd>=0且ab-cd<=10且兩個(gè)數(shù)均是奇數(shù), 同時(shí)兩個(gè)新 數(shù)的十位數(shù)字均不為零,則將滿足此條件的四位數(shù)按從大到小的 順序存入數(shù)組b中, 并要計(jì)算滿足上述條件的四位數(shù)的個(gè)數(shù)cnt。

??

??

?? 類型題五

?? 已知在文件IN.DAT中存有若干個(gè)(個(gè)數(shù)<200)四位數(shù)字的正整 數(shù), 函數(shù)ReadDat( )讀取這若干個(gè)正整數(shù)并存入數(shù)組xx中。請(qǐng)編 制函數(shù)Calvalue( ), 其功能要求: 1. 求出這文件中共有多少個(gè)正整數(shù)totNum; 2. 求這些數(shù)右移1位后, 產(chǎn)生的新數(shù)是奇數(shù)的數(shù) 的個(gè)數(shù)totCnt, 以及滿足此條件的這些數(shù)(右移前的值)的算術(shù)平 均值totPjz。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把所求的結(jié)果輸出到文件OUT.DAT中。

?? #define MAXNUM 200

?? int xx[MAXNUM] ;

?? int totNum = 0 ; /* 文件IN.DAT中共有多少個(gè)正整數(shù) */

?? int totCnt = 0 ; /* 符合條件的正整數(shù)的個(gè)數(shù) */

?? double totPjz = 0.0 ; /* 平均值 */

?? void Calvalue(void)

?? {/**/

?? for(; xx[totNum]; totNum++)

?? if((xx[totNum]>>1)%2)

?? { totCnt++; totPjz+=xx[totNum];}

?? if(totCnt) totPjz/=totCnt;

?? /**/

?? }

??

?? 類似題一、編制函數(shù)Calvalue( ), 其功能要求: 1. 求出這文件中共有多少個(gè) 正整數(shù)totNum; 2. 求這些數(shù)右移1位后, 產(chǎn)生的新數(shù)是偶數(shù)的數(shù) 的個(gè)數(shù)totCnt, 以及滿足此條件的這些數(shù)(右移前的值)的算術(shù)平 均值totPjz。

?? void Calvalue(void)

?? {/**/

?? for(; xx[totNum]>0; totNum++)

?? if((xx[totNum]>>1)%2==0)

?? { totCnt++; totPjz+=xx[totNum]; }

?? if(totCnt) totPjz/=totCnt;

?? /**/

??

??類型題六

??

?? 函數(shù)ReadDat( )實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到 字符串?dāng)?shù)組xx中; 請(qǐng)編制函數(shù)SortCharD( ), 其函數(shù)的功能是: 以行為單位對(duì)字符按從大到小的順序進(jìn)行排序, 排序后的結(jié)果仍按行

?? 重新存入字符串?dāng)?shù)組xx中。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把 結(jié)果xx輸出到文件OUT2.DAT中。 例: 原文: dAe,BfC.

?? CCbbAA

?? 結(jié)果: fedCBA.,

?? bbCCAA

?? char xx[50][80] ;

?? int maxline = 0 ; /* 文章的總行數(shù) */

?? void SortCharD(void)

?? {/**/

?? int i,j,k,m,n; char ch;

?? for(i=0; i < maxline; i++)

?? { j=strlen(xx[i]); /*求出每行的字符個(gè)數(shù)*/

?? for(m=0; m < j-1; m++)

?? { for(n=m+1; n < j; n++)

?? if(xx[i][m] < xx[i][n])

?? { ch=xx[i][m]; xx[i][m]=xx[i][n]; xx[i][n]=ch; }

?? }

?? }

?? /**/

?? }

?? 處理字符串類型題之二

?? code:

?? /* 請(qǐng)編制函數(shù)ConvertCharA(), 其函數(shù)的功能是: 以行為單位 把字符串中的所有小寫字母改寫成該字母的下一 個(gè)字母, 如果是字母z, 則改寫成字母a,大寫字母和其它字符保持不變。把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中。

?? void ConvertCharA(void)

?? {/**/

?? int i,j;

?? for(i=0; i < maxline; i++)

?? for(j=0; j < strlen(xx[i]); j++)

?? if(xx[i][j]==#39;z#39;) xx[i][j]=#39;a#39;; /*如果是z的話,就變?yōu)閍*/

?? else if((xx[i][j]>=#39;a#39;)&&(xx[i][j]<#39;z#39;))

?? xx[i][j]++;/*如果不是z的話就把字符向

?? 后移動(dòng)一個(gè)。*/

?? /**/

?? }

??

?? 字符串類型題之三

?? 函數(shù)ReadDat( )實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到 字符串?dāng)?shù)組xx中; 請(qǐng)編制函數(shù)SortCharA( ), 其函數(shù)的功能是: 以行為單位對(duì)字符按從小到大的順序進(jìn)行排序, 排序后的結(jié)果仍按行 重新存入字符串?dāng)?shù)組xx中。

?? void SortCharD(void)

?? {/**/

?? int i,j,k,m,n; char ch;

?? for(i=0; i < maxline; i++)

?? { j=strlen(xx[i]); /*求出每行的字符個(gè)數(shù)*/

?? for(m=0; m < j-1; m++)

?? { for(n=m+1; n < j; n++)

?? if(xx[i][m] > xx[i][n])

?? { ch=xx[i][m]; xx[i][m]=xx[i][n]; xx[i][n]=ch; }

?? }

?? }

??

??字符串處理之四

?? 函數(shù)ReadDat( )實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到 字符串?dāng)?shù)組xx中; 請(qǐng)編制函數(shù)StrCharJL( ), 其函數(shù)的功能是: 以 行為單位把字符串中的所有字符的ASCII值左移4位, 如果左移后, 其字符的ASCII值小于等于32或大于100, 則原字符保持不變, 否則就把左移后的字符ASCII值再加上原字符的ASCII值, 得到新的字符仍存入原字符串對(duì)應(yīng)的位置上,之后把已處理的字符串仍按行重新

?? 存入字符串?dāng)?shù)組xx中。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果 xx輸出到OUT7.DAT文件中。

?? void StrCharJL(void)

?? {/**/

?? int i,j; char m;

?? /****此題的關(guān)鍵是定義 char m ,如果定義為int c的話就會(huì)出現(xiàn)錯(cuò)誤

?? for(i=0; i < maxline; i++)

?? for(j=0; j < strlen(xx[i]); j++)

?? { m=xx[i][j]<<4;

?? if((m>32)&&(m<=100))

?? xx[i][j]+=m;

?? }

?? }

?? 字符串處理之五 :

?? 函數(shù)ReadDat( )實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到 字符串?dāng)?shù)組xx中; 請(qǐng)編制函數(shù)StrCharJR( ), 其函數(shù)的功能是: 以行為單位把字符串中的所有字符的ASCII值右移4位, 然后把右移后 的字符ASCII值再加上原字符的ASCII值, 得到新的字符仍存入原字符串對(duì)應(yīng)的位置上,之后把已處理的字符串仍按行重新存入字符串 數(shù)組xx中。最后main()函數(shù)調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文 件OUT8.DAT中。

?? void StrCharJR(void)

?? {/**/

?? int i,j;

?? for(i=0; i

?? for(j=0; j

?? xx[i][j]+=xx[i][j]>>4;

?? /**/

?? }

??字符串處理之六:

??

?? 函數(shù)ReadDat( )實(shí)現(xiàn)從文件IN.DAT中讀取一篇英文文章存入 到字符串?dāng)?shù)組xx中; 請(qǐng)編制函數(shù)ConvertCharD(), 其函數(shù)的功能 是: 以行為單位把字符串中的所有小寫字母改寫成該字母的上一 個(gè)字母, 如果是字母a, 則改寫成字母z,大寫字母和其它字符保持不變。把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中。

?? void ConvertCharD(void)

?? {/**/

?? int i,j;

?? for(i=0; i < maxline; i++)

?? for(j=0; j < strlen(xx[i]); j++)

?? if(xx[i][j]==#39;a#39;) xx[i][j]=#39;z#39;;

?? else if(islower(xx[i][j])) xx[i][j]-=1;

?? /**/

?? } http://m.dameics.com/

【計(jì)算機(jī)等級(jí)考試三級(jí)C語(yǔ)言上機(jī)考試試題總結(jié)】相關(guān)文章:

計(jì)算機(jī)等級(jí)考試須知03-15

計(jì)算機(jī)等級(jí)考試二級(jí)MS試題含答案07-15

全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)Photoshop考試大綱09-20

三級(jí)安全教育考試試題及答案版04-29

12月上海建橋?qū)W院計(jì)算機(jī)等級(jí)考試報(bào)名11-01

全國(guó)計(jì)算機(jī)等級(jí)考試常見的五大誤區(qū)11-22

全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名須知:如何上傳照片02-20

大學(xué)計(jì)算機(jī)一級(jí)考試試題及答案12-01

計(jì)算機(jī)一級(jí)考試試題題庫(kù)及答案(精選10套)03-27

初三英語(yǔ)中考試題03-22