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

2

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

}

追问

网页链接

请问这题会不会,谢谢。

追答

如果这道题对请题主先采纳吧,我去看看,你链接里这个加密问题应该也不会特别复杂,就是会比较绕

追问

抱歉,我自己改还是会出错,或许我弄错了,能麻烦帮我改一下吗,谢谢

网页链接

另外,我想问一下,把这网页链接的代码输入到 私信我给的代码里(因为有字数上限,这里发不了),在VISUAL STUDIO里输入1,在贴上

SEHH2042 Computer Programming is very EASY~!! 

3596047218

之后,就会出现下面的情况,请问怎么解决,谢谢。

追答

我明天用我自己的电脑试试哈

如果可以建议提供下链接,我自己用题主你给我的电脑成遇上没问题的

目前情况看,应该就是:你输入的第一个1没有被检测到(看一下main函数里switch的case里有没有'1'以及类型char是否正确

目前应该就是cin的锅,吧1和后面的字符串都当做主函数的输入了,所以1没检测到,后面每个字符也都没存在对应的执行程序

看题主是希望本地能运行就好,还是为了提交网上作业吧,他这个如果不用cin可能会更好处理一些

追问

那我私信发给你把,谢谢。

温馨提示:答案为网友推荐,仅供参考
相似回答