C语言 统计字符串中英文,数字,空格,其他的几种写法

思路是每次读入一个字符,来判断属于那种,在有自变量加1;

#include <stdio.h>
int main()
{
    char e;
    int a=0,b=0,c=0,d=0;
    while((e=getchar())!='\n')//切记c=getchar()外用()括起来即(c=getchar())
    {
        if((e>='a'&&e<='z')||(c>='A'&&c<='Z'))//两个判断条件中间用“||”,外面括起来
            a++;
        else if(e>='0'&&e<='9')
            b++;
        else if(e==' ')
            c++;
        else
            d++;
    }
    printf("英语%d\n数字%d\n空格%d\n其他%d\n",a,b,c,d);
}


结果

ea yh jERHAGETJ #$ %^^&** 461   ELRHU
英语5
数字3
空格8
其他21

第二种是将核心代码改为不用getchar用scanf的形式

#include <stdio.h>
int main()
{
    char e=0;//这里最好初始化,万一里面装的就刚好是\n就不进入循环
    int a=0,b=0,c=0,d=0;
    for(;e='\n';)//无限循环到回车才跳出循环
    {
        scanf("%c",&e);
        if((e>='a'&&e<='z')||(c>='A'&&c<='Z'))//两个判断条件中间用“||”,外面括起来
            a++;
        else if(e>='0'&&e<='9')
            b++;
        else if(e==' ')
            c++;
        else
            d++;
    }
    printf("英语%d\n数字%d\n空格%d\n其他%d\n",a,b,c,d);
}

其中还可以选择不用if用问号表达式这里就不多做解释

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值