C++ 编程,编写一个程序,输入长字符串,并以✀尀 n✀结尾的空格,然后显示其中有多少个字母,求代码

2
2024-12-14 01:01:30
推荐回答(1个)
回答1:

字符串如果有string类,直接使用也行,我这里的话自己电脑环境问题没有,所以用字符指针数组代替了。代码如图。主要逻辑:

1、假设小于1000个字符,可以先开辟一个1000个字符的空间,用于存储输入;我这里直接使用字符数组声明;

2、通过cin获取用户输入,从输入数据流中给字符数组赋值,设定cin不跳过空格,并且通过循环对字符数组进行复制。因为这个接收回车作为结束。

3、对于输入的每一个字符(因为是数组,通过指针和索引都可以访问),我这里直接用下标,从第一个字母开始遍历,直到遇到'\n'或者超过数组限制结束。

4、每一个char类型的值实际上是可以和一个整数对应的,也就是字符的ASCII码,那么我们就可以用类似比较数值的方法比较它。满足条件的我们进行计数,不满足就不计数

5、最后输出计数结果即可。

对了,使用的时候不要忘了引用命名空间和库。图的来源是VS2017运行时候的:

 #include ;

 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;

}