#3884: 錯在哪裡?


sam830412 (sam)


#include <iostream>   
using namespace std;  
int main()  
{  
 string a;     
 while (getline(cin,a))  
   {      
     int b=1;    
     for (int i=0;i<=(a.size()-1);i++)  
       {  
         if ((a[i]<122 && a[i]>97) || (a[i]>65 && a[i]<90))    
           {  
             if ((i!=0) && (a[i-1]>122 || a[i-1]<65 || (a[i-1]<97 && a[i-1]>90)))   
                 b=b+1;              
           }
         else if ((i==0) && (a[i]>122 || a[i]<65 || (a[i]<97 && a[i]>90)))
           b=0;    
       }  
    cout << b <<endl;     
   }  
return 0;  
#3888: Re:錯在哪裡?


fire231 (Bloodmors)


#include    
using namespace std;  
int main()  
{  
 string a;     
 while (getline(cin,a))  
   {      
     int b=1;    
     for (int i=0;i<=(a.size()-1);i++)  
       {  
         if ((a[i]<122 && a[i]>97) || (a[i]>65 && a[i]<90))    
           {  
             if ((i!=0) && (a[i-1]>122 || a[i-1]<65 || (a[i-1]<97 && a[i-1]>90)))   
                 b=b+1;              
           }
         else if ((i==0) && (a[i]>122 || a[i]<65 || (a[i]<97 && a[i]>90)))
           b=0;    
       }  
    cout << b <   }  
return 0;  


妳這樣連編譯都過不去吧..

string a

你哪來的a[i]?

#3891: Re:錯在哪裡?


magrady (元元)


妳這樣連編譯都過不去吧..

string a

你哪來的a[i]? 

誰說的?

 

#3895: Re:錯在哪裡?


fire231 (Bloodmors)


妳這樣連編譯都過不去吧..

string a

你哪來的a[i]? 

誰說的?

 

抱歉 我錯了

(事實上我從來不知道原來string可以取陣列......)

(之前還一直想把string轉成char陣列.....)

-----

話說題目應該要檢查 如果是非英文的格子 前一格是英文 那麼單字數+1吧?

這樣寫法好像是 如果是英文 檢查前面那格如果不是英文 則+1

還有最後面i=0的地方也很奇怪

---

不知道我是否又看錯??