刚开始读到题目的时候,认为和其他字符串题一样要用scanf()来读输入数据,因为再输入的过程中难免会遇到空格的干扰,所以要改用gets(),关于
scanf()和gets()的使用方法和区别,将会在以后的blog里详细的更新,请大家记着加关注啊~
还有一个需要注意的就是cin.ignore()函数的使用,在这个函数中,用于()为空,故默认为cin.ignore(1,EOF)
关于cin.ignore()函数的使用,在以后也会详细更新,总之这道题的时候,记住他是起到清除缓冲区的作用就好了.
# include<cstdio> # include<iostream> # include<cstring> using namespace std; # define MAX 10000 char s[MAX+10]; int main(void) { int t;cin>>t; // int ans = 0; int k1 = 0; int k2 = 0; int k3 = 0; cin.ignore(); while ( t-- ) { int ans = 0; gets(s); int n = strlen(s); for ( int i = 0;i < n;i++ ) { if ( s[i] < 0 ) ans++; } cout<<ans/2<<endl; } return 0; }