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

2... 2 展开
 我来答
百度网友63b0960
2020-04-29 · TA获得超过1468个赞
知道小有建树答主
回答量:661
采纳率:90%
帮助的人:211万
展开全部

字符串如果有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;

}

更多追问追答
追问

网页链接

请问这题会不会,谢谢。

追答
如果这道题对请题主先采纳吧,我去看看,你链接里这个加密问题应该也不会特别复杂,就是会比较绕
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式