字符串如果有string类,直接使用也行,我这里的话自己电脑环境问题没有,所以用字符指针数组代替了。代码如图。主要逻辑:
1、假设小于1000个字符,可以先开辟一个1000个字符的空间,用于存储输入;我这里直接使用字符数组声明;
2、通过cin获取用户输入,从输入数据流中给字符数组赋值,设定cin不跳过空格,并且通过循环对字符数组进行复制。因为这个接收回车作为结束。
3、对于输入的每一个字符(因为是数组,通过指针和索引都可以访问),我这里直接用下标,从第一个字母开始遍历,直到遇到'\n'或者超过数组限制结束。
4、每一个char类型的值实际上是可以和一个整数对应的,也就是字符的ASCII码,那么我们就可以用类似比较数值的方法比较它。满足条件的我们进行计数,不满足就不计数
5、最后输出计数结果即可。
对了,使用的时候不要忘了引用命名空间和库。图的来源是VS2017运行时候的:
#include <iostream>;
using namespace std;
int main()
{
char cl[1000];
int count = 0;
int i = 0;
cin >> noskipws;
do
{
cin >> cl[i++];
} while (cl[i - 1] != '\n');
for (i = 0; cl[i] != '\n'||i>999; i++)
{
if ((cl[i]<='Z'&&cl[i]>='A') || (cl[i]<='z'&&cl[i]>='a'))
count++;
}
cout << count;
}