302班

          java突擊隊(duì)
          posts - 151, comments - 74, trackbacks - 0, articles - 14
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          為了使得程序更加靈活,我們將不限制用戶輸入的行數(shù)。因此,我們需要找到一種方式,用于通知程序用戶已經(jīng)完成輸入。有一個(gè)簡(jiǎn)單的方法可以完成這個(gè)任務(wù),那就是當(dāng)用戶輸入最后一行文字以后,再額外加一個(gè)空行。當(dāng)我們使用readLine()函數(shù)讀取這個(gè)額外的空行時(shí),程序?qū)⒃谟米骶彌_區(qū)的數(shù)組的第一個(gè)位置上存儲(chǔ)一個(gè)空字符。我們程序可以專門檢查這種特殊的情況,并由此得知用戶已經(jīng)完成了輸入。
          #include <stdio.h>

          //判斷是否是字母
          bool alphabetic(const char c)
          {
            if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
            {
              return true;
            }
            else
             return false;
          }
          //計(jì)算單詞的個(gè)數(shù)
          int countWords(const char string[])
          {
             int i,wordCount=0;
             bool lookingForWord=true,alphabetic(const char c);

             for(i=0;string[i]!='\0';++i)
             {
               if(alphabetic(string[i]))
            {
              if(lookingForWord)
              {
                wordCount++;
             lookingForWord=false;
              }    
            }
            else
             lookingForWord=true;
             }
             return wordCount;
          }

          //得到一個(gè)字符串
          void readLine(char buffer[])
          {
            char character;
            int i=0;
            do
            {
              character=getchar();
           buffer[i]=character;
           ++i;
            }while(character!='\n');

            buffer[i-1]='\0';
          }

          int main(void)
          {
            char text[81];
            int totalWords=0;
            void readLine(char buffer[]);
            bool endOfText=false;

            printf("Type in your text.\n");
            printf("When you are done,press'RETURN'.\n\n");

            while(!endOfText)
            {
              readLine(text);
           if(text[0]=='\0')
           {
               endOfText=true ;
           }
           else
           totalWords+=countWords(text);
            }

            printf("\nThere are %i words in the above text.\n",totalWords);
            return 0;
          }

          測(cè)試運(yùn)行圖:
          主站蜘蛛池模板: 平塘县| 双流县| 会东县| 岱山县| 济宁市| 孝昌县| 新平| 建瓯市| 邹城市| 墨竹工卡县| 芷江| 乐亭县| 太湖县| 松滋市| 辽中县| 体育| 满城县| 凉城县| 凤庆县| 永川市| 陵川县| 浏阳市| 四子王旗| 开江县| 龙口市| 阿克陶县| 滨州市| 育儿| 光泽县| 兴宁市| 裕民县| 河西区| 黎川县| 翁源县| 玛沁县| 密云县| 福贡县| 三台县| 深圳市| 休宁县| 科技|