日本一本亚洲最大|日本午夜免费啪视频在|国产自产在线视频一区|亚洲福利精品视频

    <object id="4ihfc"></object>
      
      
    1. <object id="4ihfc"></object>
    2. 我要投稿 投訴建議

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

      時(shí)間:2023-02-23 18:44:45 計(jì)算機(jī)等級(jí) 我要投稿
      • 相關(guān)推薦

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


      第一種: 產(chǎn)品銷(xiāo)售記錄問(wèn)題:
      ?? /* 已知在文件IN.DAT中存有100個(gè)產(chǎn)品銷(xiāo)售記錄, 每個(gè)產(chǎn)品銷(xiāo)售記錄由產(chǎn)品代碼dm(字符型4位), 產(chǎn)品名稱(chēng)mc(字符型10位), 單價(jià)dj(整型), 數(shù)量sl(整型), 金額je(長(zhǎng)整型)五部分組成。 其中:
      ?? 金額=單價(jià)*數(shù)量計(jì)算得出。函數(shù)ReadDat( )讀取這100個(gè)銷(xiāo)售記錄并存入結(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)品名稱(chēng) */
      ?? 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ù)來(lái)表達(dá), 此方法是按照題意一部一部來(lái)分析的,是比較保守的編程方法。
      ?? 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)品銷(xiāo)售記錄排序其余9題說(shuō)明
      ?? 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)品名稱(chēng)從小到大進(jìn)行排列, 若產(chǎn)品名稱(chēng)相同, 則按金額從小 到大進(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)品名稱(chēng)從小到大進(jìn)行排列, 若產(chǎn)品名稱(chēng)相同, 則按金額從大 到小進(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)品名稱(chēng)從大到小進(jìn)行排列, 若產(chǎn)品名稱(chēng)相同, 則按金額從小 到大進(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)品名稱(chēng)從大到小進(jìn)行排列, 若產(chǎn)品名稱(chēng)相同, 則按金額從大 到小進(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
      ??
      ??第二類(lèi)習(xí)題 300個(gè)四位數(shù)問(wèn)題:
      ?? 300個(gè)四位數(shù)問(wèn)題(此類(lèi)共10題) 本類(lèi)10題中,五題產(chǎn)生數(shù)組B,并對(duì)B按一定要求排序;
      ?? 其余五題是求平均值。我把它們分成兩組五題來(lái)討論。 以下為產(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, 再把所有滿(mǎn)足此條件的四位數(shù)依次 存入數(shù)組b中, 然后對(duì)數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序。 最后main( )函數(shù)調(diào)用寫(xiě)函數(shù)writeDat()把數(shù)組b中的數(shù)輸出到文 件OUT.DAT。
      ?? 例如: 1239, 9-1-2-3>0, 則該數(shù)滿(mǎn)足條件存入數(shù)組b中, 且個(gè)數(shù)cnt=cnt+1。
      ?? 8129, 9-8-1-2<0, 則該數(shù)不滿(mǎn)足條件忽略。 程序中已定義數(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, 再把所有滿(mǎn)足此 條件的四位數(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, 再把所有滿(mǎn)足此條件的四位數(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, 再把所有滿(mǎn)足此條件的四位數(shù)依次存入 數(shù)組b中, 然后對(duì)數(shù)組b的四位數(shù)按從大到小的順序進(jìn)行排序。
      ?? if((q+b)==(s+g))
      ?? b[cnt++]=a[i];
      ??
      ??
      ??類(lèi)型題三:300個(gè)數(shù)滿(mǎn)足條件的求平均值
      ??
      ??求滿(mǎn)足條件的數(shù)的個(gè)數(shù)、平均值及不滿(mǎn)足條件的數(shù)的平均 值等,此類(lèi)也是五題。本處僅給出一個(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, 再求出所有滿(mǎn)足此條件的四位數(shù)平 均值pjz1, 以及所有不滿(mǎn)足此條件的四位數(shù)平均值pjz2。最后 main()函數(shù)調(diào)用寫(xiě)函數(shù)writeDat()把結(jié)果cnt,pjz1,pjz2輸出到 OUT.DAT文件。
      ?? 例如: 9123, 9-1-2-3>0, 則該數(shù)滿(mǎn)足條件計(jì)算平均值pjz1, 且個(gè)數(shù)cnt=cnt+1。 9812, 9-8-1-2<0, 則該數(shù)不滿(mǎn)足條件計(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, 再求出所有滿(mǎn)足此條件的四位數(shù)平均值 pjz1, 以及所有不滿(mǎn)足此條件的四位數(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, 再求出所有滿(mǎn)足此條件的四位數(shù)平 均值pjz1, 以及所有不滿(mǎn)足此條件的四位數(shù)平均值pjz2。
      ?? if(g-q-b-s<0)
      ?? { cnt++; pjz1+=a[i]; }
      ?? else pjz2+=a[i];
      ?? 之四 要求:
      ?? 求出所有這些四位數(shù)是素?cái)?shù)的個(gè)數(shù)cnt, 再求出所有滿(mǎn)足 此條件的四位數(shù)平均z值pjz1, 以及所有不滿(mǎn)足此條件的四位數(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, 再求出所有滿(mǎn)足此條件的四位數(shù)平均值 pjz1, 以及所有不滿(mǎn)足此條件的四位數(shù)平均值pjz2。
      ?? if((q+g)==(b+s))
      ?? { cnt++; pjz1+=a[i]; }
      ?? else pjz2+=a[i];
      ?? code:
      ?? /*
      ??類(lèi)型題四: 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ù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從 大到小的順序存入數(shù)組b中, 并要計(jì)算滿(mǎn)足上述條件的四位數(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ù)題之其余九題說(shuō)明
      ?? 之二 要求:
      ?? 把千位數(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ù)字均不為零,則將滿(mǎn)足此條件的四 位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿(mǎn)足上述條件的 四位數(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ù)字均不為零, 則將滿(mǎn)足 此條件的四位數(shù)按從大到小的順序存入數(shù)組b中, 并要計(jì)算滿(mǎn)足
      ?? 上述條件的四位數(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ù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從大到小的 順序存入數(shù)組b中, 并要計(jì)算滿(mǎn)足上述條件的四位數(shù)的個(gè)數(shù)cnt。
      ?? 之五 要求: 如果四位數(shù)各位上的數(shù)字均是0或2或4或6或8, 則統(tǒng)計(jì) 出滿(mǎn)足此條件的個(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ù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從大 到小的順序存入數(shù)組b中, 并要計(jì)算滿(mǎn)足上述條件的四位數(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ù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從大 到小的順序存入數(shù)組b中, 并要計(jì)算滿(mǎn)足上述條件的四位數(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ù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按 從大到小的順序存入數(shù)組b中, 并要計(jì)算滿(mǎn)足上述條件的四位數(shù) 的個(gè)數(shù)cnt。
      ?? 之九 要求:
      ?? 如果四位數(shù)各位上的數(shù)字均是奇數(shù),則統(tǒng)計(jì)出滿(mǎn)足此條 件的個(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ù)字均不為零,則將滿(mǎn)足此條件的四位數(shù)按從大到小的 順序存入數(shù)組b中, 并要計(jì)算滿(mǎn)足上述條件的四位數(shù)的個(gè)數(shù)cnt。
      ??
      ??
      ?? 類(lèi)型題五
      ?? 已知在文件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, 以及滿(mǎn)足此條件的這些數(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;
      ?? /**/
      ?? }
      ??
      ?? 類(lèi)似題一、編制函數(shù)Calvalue( ), 其功能要求: 1. 求出這文件中共有多少個(gè) 正整數(shù)totNum; 2. 求這些數(shù)右移1位后, 產(chǎn)生的新數(shù)是偶數(shù)的數(shù) 的個(gè)數(shù)totCnt, 以及滿(mǎn)足此條件的這些數(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;
      ?? /**/
      ??
      ??類(lèi)型題六
      ??
      ?? 函數(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; }
      ?? }
      ?? }
      ?? /**/
      ?? }
      ?? 處理字符串類(lèi)型題之二
      ?? code:
      ?? /* 請(qǐng)編制函數(shù)ConvertCharA(), 其函數(shù)的功能是: 以行為單位 把字符串中的所有小寫(xiě)字母改寫(xiě)成該字母的下一 個(gè)字母, 如果是字母z, 則改寫(xiě)成字母a,大寫(xiě)字母和其它字符保持不變。把已處理的字符串仍按行重新存入字符串?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è)。*/
      ?? /**/
      ?? }
      ??
      ?? 字符串類(lèi)型題之三
      ?? 函數(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ù)的功能 是: 以行為單位把字符串中的所有小寫(xiě)字母改寫(xiě)成該字母的上一 個(gè)字母, 如果是字母a, 則改寫(xiě)成字母z,大寫(xiě)字母和其它字符保持不變。把已處理的字符串仍按行重新存入字符串?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://krishna123.com/

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

      2004年全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)C語(yǔ)言全真上機(jī)試題解析08-10

      計(jì)算機(jī)等級(jí)考試三級(jí)網(wǎng)絡(luò)技術(shù)上機(jī)模擬試題08-02

      07年4月全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)PC上機(jī)試題07-23

      計(jì)算機(jī)二級(jí)考試C++上機(jī)考試試題08-23

      2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)PC技術(shù)上機(jī)試題07-23

      2007年4月全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)PC技術(shù)上機(jī)試題07-23

      全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試題07-17

      計(jì)算機(jī)等級(jí)考試一級(jí)B上機(jī)試題:Windows字處理07-23

      計(jì)算機(jī)等級(jí)考試一級(jí)B上機(jī)試題:字表處理題07-23