int main() {
string s;
int sum=0,w=0,f=0;
while(getline(cin,s)){
w=s.size();
for(int i=0; i<w; i++){
if(isalpha(s[i])!=0) f=1;
if(isalpha(s[i])==0&&f==1) {sum++; f=0;}
if(i==w-1&&f==1) {sum++; f=0;}
}
cout<<sum<<endl;
sum=0;
}
return 0;
}
_________________________________
int main() {
string s;
int sum=0,w=0,f=0;
while(getline(cin,s)){
for(int i=0; i<s.size(); i++){
if(isalpha(s[i])!=0) f=1;
if(isalpha(s[i])==0&&f==1) {sum++; f=0;}
if(i==w-1&&f==1) {sum++; f=0;}
}
cout<<sum<<endl;
sum=0;
}
return 0;
}
第2個是錯的
只有多了1個Var w
為何兩個程式的結果不同?
int main() {
string s;
int sum=0,w=0,f=0;
while(getline(cin,s)){
w=s.size();
for(int i=0; i<w; i++){
if(isalpha(s[i])!=0) f=1;
if(isalpha(s[i])==0&&f==1) {sum++; f=0;}
if(i==w-1&&f==1) {sum++; f=0;}
}
cout<<sum<<endl;
sum=0;
}
return 0;
}
_________________________________
int main() {
string s;
int sum=0,w=0,f=0;
while(getline(cin,s)){
for(int i=0; i<s.size(); i++){
if(isalpha(s[i])!=0) f=1;
if(isalpha(s[i])==0&&f==1) {sum++; f=0;}
if(i==w-1&&f==1) {sum++; f=0;} <------------------------------------------------------------這個W永遠是0,,而不是s.size()
}
cout<<sum<<endl;
sum=0;
}
return 0;
}
第2個是錯的
只有多了1個Var w
為何兩個程式的結果不同?
第二段的 w 一直沒變化,是嗎。
i == w-1 會達到預期的判斷嗎。