<source id="v77gz"></source>
    <u id="v77gz"><p id="v77gz"></p></u>

      <samp id="v77gz"></samp>

      <var id="v77gz"><td id="v77gz"><ins id="v77gz"></ins></td></var>

      <video id="v77gz"></video>
      <source id="v77gz"></source>
    1. 江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
      09二級VC++試卷評析

      2009春上機試卷7

      :改錯題:

      【題目】以下程序的功能是:查找某個指定單詞在字符串中出現的次數,單詞之間由一個或多個空格分隔,判斷字符時不區分字母的大小寫:

      例如:在字符串”I am a studeng. My Name is Tony. I am twenty”中包含T的單詞有3

      含有錯誤的源程序如下:

      #include <iostream.h>

      char convert(char c)                      //本函數實現將大寫字母轉換為小寫字母

      {if(c>='A' && c<='Z')

        return c+'A'-'a';                      //因為是轉化為小寫,所以應該為c+'a'-'A'

       return c;

      }

      int search(char *str, char *s)

      {int count=0,flag=0;

      for(;*str;str++){

               if(flag || *str==' '){                  //第一次查詢或遇到空格時執行查詢,所以flag==0

            flag=1;

            while(*(str++)==' ');              //跳過空格,使其指向有字母的單詞

                str--;                      //str指向空格后的第一個字符

            for(char *str1=str;*str1==’ ’ && *str;str1++){   //本循環實現查找T,所以應為*str1!=’ ’

               if(convert(*str1)==convert(*s1))     //如果查找到T,則將count1,并且跳出for循環

      {count++;                   //因為標明該單詞中有T,就無需再繼續查找該單詞中的其他單詞

      return count;    

               }

           }

        }

       }

         return count;

      }

       

      void main()

      {char str[40]=" I am a studeng. My Name is Tony. I am twenty ", ch=’T’;

       cout<<"字符串"<<"中單詞"<<s<<"出現了"<<search(str,s)<<""<<endl;

      }

       

       

       

       

       

       

       

       

       

       

                                                                                                                                                                             u

      中文在线字幕第一页_中文字幕高跟丝袜作品番号_亚洲中文无无码第_日本亚洲欧美国产日韩a??y_在线观看亚洲av无码专区