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

軟考軟件設(shè)計(jì)師課后練習(xí)題:第四章習(xí)題及解答

    6.輸入一個字符串,將其中的所有大寫字母改為小寫字母,而所有小寫字母全部改為大寫字母,然后輸出。
    【解】程序先輸入字符率,然后順序考察輸入字符串中的字符,當(dāng)發(fā)現(xiàn)是大寫字母時,將它改寫成對應(yīng)的小寫字母,而當(dāng)它是小寫字母時,就將它改寫成對應(yīng)的大寫字母。若變量ch中的字符是大寫字母,則與它對應(yīng)的小寫字母的表達(dá)式可以寫成ch- ’A’+’a’ ;類似地,若變量ch中的字符是小寫字母,則與它對應(yīng)的大寫字母的表達(dá)式可以寫成ch-’a’+’A’ 。完整程序如下:
      # include 
      # define N 200
        main()
       { char s[N] ;
         int i;
        printf(" Enter string! \n");
        scanf ("%s" ,s);
       for(i=0; s[i]!=’\0’;i++)
       if(s[i] >=’A’&&s[i] <=’Z’ )
      s[i]=s[i] -’x’+’a’ ;
      else if(s[i] >=’a’&& s[i] <=’z’) 
      s[i]= s[i]-’a’ +’A’ ;
      printf("s=%s\n", s);
      }

    7.設(shè)某班50名學(xué)生的三科成績表如下:
     課程一    課程二     課程三
          ...        ...        ...
    試編一個程序,輸入這50個學(xué)生的三科成績,計(jì)算并輸出每科成績的平均分。
    【解】程序定義一個50行3列的二維數(shù)組,用于存儲全班學(xué)生的成績。程序順序輸入各個學(xué)生的三科成績,然后按列的順序,累計(jì)各科總分,并計(jì)算平均分。完整程序如下:
     # include
     # define N 50
     # define M 3
      main()
     {int score[N][M], i,j,t;
     double a[M];
     printf("Enter scores!\n");
     for(i=0;i< N; i++)
     for(j=0;j     scanf("%d",&t);score[i][j]=t;
      }
     for(j=0;j     for(j=0;j< M;j++){ 
     for(i=0;i< N; i++)
     a[j]+= score[i][j];
    a[j]/= N;
    }
     for(j=0;j      printf("課程%d的平均分是%.2f\n", j+1,a[j]);
     }

    8.編一個程序,輸入一個整型數(shù)據(jù),輸出每位數(shù)字,其間用遠(yuǎn)號分隔。例如,輸入整數(shù)為2345,則輸出應(yīng)為: 2, 3, 4, 5。
     【解】程序的主要工作是從輸入整數(shù)分拆出它的十進(jìn)制整數(shù)的各位數(shù)字,將分拆出來的各位數(shù)字存于數(shù)組中,然后將這些數(shù)字自高位到低位的順序逐位輸出。要將一個整數(shù)按十進(jìn)制數(shù)的要求分拆,需用一個循環(huán),每次循環(huán)求出被分拆數(shù)除以10的余數(shù)的辦法來求出它的個位,每分拆出一位就將被分拆的數(shù)除以10。循環(huán)過程直至被分拆的數(shù)為0結(jié)束。完整程序如下:
      # include 
       main()
      {int a[20],i,base=10;
       int n;
       printf("Enter a number! \n");
       scanf("%d", &n);/*整數(shù)輸入*/
        i=0;/*對n進(jìn)行分拆,各位數(shù)字自低位到高位存于數(shù)組 a*/
       do{
      a[i++]=n% base;
      n/= base;
      } while(n) ;
    for(i--;i>=0;i--)/*自高位到低位輸出*/
       printf("%d%c",a[i], i? ’,’ :’\n’);
         }

    9.編一個程序,輸入一個字符串,將其中所有的大寫英文字母的代碼+3,小寫英文字母的代碼-3。然后輸出加密后的字符串。
    【解】程序的主要工作是輸入字符串,并順序考察輸入字符率中的字符,分別對其中大小寫英文字母完成問題要求的更改,而跳過不是英文字母的字符。完整程序如下:
      # include 
      # define N 200
        main()
       {char s[N]; int i;
        printf("Enter string! \n");
        scanf("%s", s);
        for(i=0;s[i] !=’\0’; i++)
       if(s[i] >=’A’ && s[i]=’Z’)
       s[i]=3;
       else if(s[i]=’a’&& s[i]=’z’ ) 
       s[i]=3;
       printf("s=%s\n",s);
       }

    10.編一個程序,將按第9題中加密的字符率(從鍵盤輸入)解密后輸出。
    【解】本問題編寫的程序是完成上一程序的逆操作。同樣是順序考察輸入字符串,對滿足要求的字符作恢復(fù)更改。要求是當(dāng)字符減3后是大寫英文字母時,則對其作減3處理的替換;當(dāng)字符加3后是小寫英文字母時,則對它作加3的處理。如此做法是有錯誤的,程序未考慮原
先不是英文字母,而未被加3或減3處理,但對它減3或加3后是英文字母時,將被下面的程序轉(zhuǎn)換成英文字母。所以下面的程序不是完成上題程序的逆操作。但沒有簡單的辦法能避免這個錯誤。完整程序如下:
      # include 
      # define N 200
      main()
     {char s[N]; int i;
       printf("Enter string!\n");
       scanf("%s",s);
       for(i=0;s[i] !=’\0’;i++)
       if(s[i]-3>=’A’&&s[i]-3<=’Z’)
       s[i]-=3;
       else if(s[i]+3>=’a’ && s[i]+3<= ’Z’)
       s[i]+=3;
        printf("s=%s\n",s);
        }

更多軟考資料請?jiān)L問:考試吧軟件水平考試欄目

上一頁  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)容,請注明出處。