字符串如果有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可能会更好处理一些
那我私信发给你把,谢谢。