首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

二級(jí)C輔導(dǎo)教程及考點(diǎn)分析:第四章 數(shù)組

 

      在二維數(shù)組a中選出各行最大的元素組成一個(gè)一維數(shù)組b。 a=3 16 87 65 4 32 11 108 10 25 12 37b=(87 108 37) 本題的編程思路是,在數(shù)組A的每一行中尋找最大的元素,找到之后把該值賦予數(shù)組B相應(yīng)的元素即可。程序如下:
    main()
    {
    static int a[][4]={3,16,87,65,4,32,11,108,10,25,12,27};
    int b[3],i,j,l;
    for(i=0;i<=2;i++)
    { l=a[i][0];
    for(j=1;j<=3;j++)
    if(a[i][j]>l) l=a[i][j];
    b[i]=l;}
    printf("\narray a:\n");
    for(i=0;i<=2;i++)
    { for(j=0;j<=3;j++)
    printf("%5d",a[i][j]);
    printf("\n");}
    printf("\narray b:\n");
    for(i=0;i<=2;i++)
    printf("%5d",b[i]);
    printf("\n");
    }

    程序中第一個(gè)for語(yǔ)句中又嵌套了一個(gè)for語(yǔ)句組成了雙重循環(huán)。外循環(huán)控制逐行處理,并把每行的第0列元素賦予l。進(jìn)入內(nèi)循環(huán)后,把l與后面各列元素比較,并把比l大者賦予l。內(nèi)循環(huán)結(jié)束時(shí)l 即為該行最大的元素,然后把l值賦予b[i]。等外循環(huán)全部完成時(shí),數(shù)組b中已裝入了a各行中的最大值。后面的兩個(gè) for語(yǔ)句分別輸出數(shù)組a和數(shù)組b。

    輸入五個(gè)國(guó)家的名稱按字母順序排列輸出。 
      本題編程思路如下:五個(gè)國(guó)家名應(yīng)由一個(gè)二維字符數(shù)組來(lái)處理。然而C語(yǔ)言規(guī)定可以把一個(gè)二維數(shù)組當(dāng)成多個(gè)一維數(shù)組處理。 因此本題又可以按五個(gè)一維數(shù)組處理, 而每一個(gè)一維數(shù)組就是一個(gè)國(guó)家名字符串。用字符串比較函數(shù)比較各一維數(shù)組的大小,并排序, 輸出結(jié)果即可。
    編程如下:
    void main()
    {
    char st[20],cs[5][20];
    int i,j,p;
    printf("input country’s name:\n");
    for(i=0;i<5;i++)
    gets(cs[i]);
    printf("\n");
    for(i=0;i<5;i++)
    { p=i;strcpy(st,cs[i]);
    for(j=i+1;j<5;j++)
    if(strcmp(cs[j],st)<0) {p=j;strcpy(st,cs[j]);}
    if(p!=i)
    {
    strcpy(st,cs[i]);
    strcpy(cs[i],cs[p]);
    strcpy(cs[p],st);
    }
    puts(cs[i]);}printf("\n");
    }

    本程序的第一個(gè)for語(yǔ)句中,用gets函數(shù)輸入五個(gè)國(guó)家名字符串。上面說(shuō)過(guò)C語(yǔ)言允許把一個(gè)二維數(shù)組按多個(gè)一維數(shù)組處理, 本程序說(shuō)明cs[5][20]為二維字符數(shù)組,可分為五個(gè)一維數(shù)組cs[0],cs[1],cs[2],cs[3],cs[4]。因此在gets函數(shù)中使用cs[i]是合法的。 在第二個(gè)for語(yǔ)句中又嵌套了一個(gè)for語(yǔ)句組成雙重循環(huán)。 這個(gè)雙重循環(huán)完成按字母順序排序的工作。在外層循環(huán)中把字符數(shù)組cs[i]中的國(guó)名字符串拷貝到數(shù)組st中,并把下標(biāo)i賦予P。 進(jìn)入內(nèi)層循環(huán)后,把st與cs[i]以后的各字符串作比較,若有比st小者則把該字符串拷貝到st中,并把其下標(biāo)賦予p。內(nèi)循環(huán)完成后如p不等于 i 說(shuō)明有比cs[i]更小的字符串出現(xiàn),因此交換cs[i]和st的內(nèi)容。 至此已確定了數(shù)組cs的第i號(hào)元素的排序值。然后輸出該字符串。在外循環(huán)全部完成之后即完成全部排序和輸出。

    本章小結(jié) 

    1.數(shù)組是程序設(shè)計(jì)中最常用的數(shù)據(jù)結(jié)構(gòu)。數(shù)組可分為數(shù)值數(shù)組(整數(shù)組,實(shí)數(shù)組),字符數(shù)組以及后面將要介紹的指針數(shù)組,結(jié)構(gòu)數(shù)組等。

    2.數(shù)組可以是一維的,二維的或多維的。

    3.數(shù)組類型說(shuō)明由類型說(shuō)明符、數(shù)組名、數(shù)組長(zhǎng)度 (數(shù)組元素個(gè)數(shù))三部分組成。數(shù)組元素又稱為下標(biāo)變量。 數(shù)組的類型是指下標(biāo)變量取值的類型。

    4.對(duì)數(shù)組的賦值可以用數(shù)組初始化賦值, 輸入函數(shù)動(dòng)態(tài)賦值和賦值語(yǔ)句賦值三種方法實(shí)現(xiàn)。 對(duì)數(shù)值數(shù)組不能用賦值語(yǔ)句整體賦值、輸入或輸出,而必須用循環(huán)語(yǔ)句逐個(gè)對(duì)數(shù)組元素進(jìn)行操作。

希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇

更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。