本人水平有限,题解不到为处,请多多谅解
本蒟蒻谢谢大家观看
题目:传送门
以下是本人想到的三种方法:
法一:用gets读入,因为gets可以读入任何字符且包括空格,直到 ‘ ’ 换行停止。注意:判断空格时用 ‘ ’, 注 : gets读入的必须是char数组 code:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int p,len=0,i,ans; 4 char a[1212]; 5 int main() 6 { 7 gets(a); 8 len=strlen(a); 9 for(int i=0;i<len;i++) 10 if(a[i]==' ') 11 ans++; 12 //cout<<ans<<endl; 13 cout<<len-ans<<endl; 14 }
法二:用getchar读入,getchar也可以读入任何字符且包括空格,其余同上,但是getchar为字符中最高效的,gets易导致堆栈溢出 , getchar读入时要手动在末尾加入 空格 ‘0’ ,其余读入法均自带。 gerchar读入时若不开char数组,则只读入第一位 code:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int p,len=0,i; 4 char a[1212]; 5 int main() 6 { 7 i=0; 8 while((a[i]=getchar())!=' ') 9 { 10 i++; 11 } 12 a[i]='