玛朵布莎•爪云
2021-06-14 10:52
采纳率: 20%
浏览 112

用C++输入一个字符串,统计字符串中小写字母的个数

大一课本知识点不会啊

急求啊

啊啊

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • CSDN专家-Time 2021-06-14 10:53
    已采纳
    1. 小写字母包括a到z,一共26个英文字母。

    2. 区分字符串中的字符属于特殊符号,或者是小写字母和大写字母,其本质是每个字符在Unicode编码中对应一个数字。a对应数字编码为97,z对应数字的编码为122。

    3. 判断一个字符char1为小写字母的条件为'a'<=char1<='z',因为字母对应一个数值,所以也可以用97<=Asc(char1)<=122。

    4. 统计字符串中的所有小写字母的个数,只需要按顺序逐个取出字符串的字符,一一进行比较。如果符号上述条件则为小写字母,用一个变量i记录小写字母的个数。i的初始值为0,找到一个小写字母i就加上一,直到对字符串的最后一个字母也完成判断。最后再在屏幕上输出i。

    5. 具体的代码为:

        i=0;                             ‘开始小写字母的个数记为0个

        char *p=str1;                 '指针p在字符串str1的开始位置

        while(*p!=\0)                 '判断指针p是否到了字符串str1的结束位置

        {

            if(*p>='a'&&*p<='z')  ‘判断字符是否小写字母

               i++;      ’如果是小写字母,i加上1,代表一个小写字母

               p++;             ‘无论上一个数是否是小写字母,指针都要移动到一个字符

        }

                                 

        return i;                              '函数最后返回字符串中小写字母的个数

    点赞 评论
  • #include <bits/stdc++.h>
    using namespace std;
    #include<stdio.h>
    int main()
    {
        int i,sum=0,l;
        char s[100];
        cin>>s;
        l=strlen(s);
        for(i=0;i<l;i++){
            if(s[i]>='a'&&s[i]<='z'){
                sum++;
            }
        }
        cout<<sum;
        return 0;
    }
    
    

     

    点赞 评论
  • 有问必答小助手 2021-06-17 14:58

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

    点赞 评论

相关推荐 更多相似问题