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

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

 

      在二維數(shù)組a中選出各行最大的元素組成一個一維數(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");
    }

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

    輸入五個國家的名稱按字母順序排列輸出。 
      本題編程思路如下:五個國家名應(yīng)由一個二維字符數(shù)組來處理。然而C語言規(guī)定可以把一個二維數(shù)組當(dāng)成多個一維數(shù)組處理。 因此本題又可以按五個一維數(shù)組處理, 而每一個一維數(shù)組就是一個國家名字符串。用字符串比較函數(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");
    }

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

    本章小結(jié) 

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

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

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

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

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

更多信息請訪問:考試吧計算機等級考試欄目

上一頁  1 2 3 4 5 6  下一頁
文章搜索
計算機等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。