描述
输入一行可能带空格的字符串,输入其中空格字符的数量。
输入
只有一组案例,一行可能带空格的字符串s。
输出
一个正整数,表示字符串s里空格字符的数量。不要换行。
样例输入
abc xyz
样例输出
1
法一:string
#include<iostream>
#include<string>
using namespace std;
int main()
{
string a;
getline(cin, a);
int cnt = 0;
for (int i = 0; i < a.length(); i++)
{
if (a[i] == ' ')
{
cnt++;
}
}
cout << cnt;//包含在头文件<cstring>中
return 0;
}
法2:char
#include<iostream>
#include<cstring>//注意头文件为<cstring>
using namespace std;
int main()
{
char a[1000];//设置足够大的存储空间
int cnt = 0;
cin.getline(a, 1000);//回车结束字符串的输入
for (int i = 0; i < strlen(a); i++)
{
if (a[i] == ' ')
{
cnt++;
}
}
cout << cnt;
return 0;
}
总结:由于空格在输入时会被认为是分隔符,所以会在空格前停下,无法统计空格字符的个数;
因此,让输入在遇到换行符时停下,便能统计空格的个数了。