ACM 1176

题目描述 输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数,分行输出该结果。
输入 一行字符,可以包含字母、数字、空格、标点等符号
输出 分行输出大小写英文字母、空格、数字和其他字符的个数。
如:
characters=字母个数
spaces=空格个数
numbers=数字个数
others=其他字符个数
样例输入
My input123 @%chars.
样例输出
characters=12
spaces=2
numbers=3
others=3

整个题目理清楚大概的思路,其实不难,首先对于一行字符进行getchar取值,
判定其至’\n’打止,
字母的判定条件则是’A’~‘Z’
空格则是‘ ’ ,记住’ ‘里边得空一格
数字也很简单 ‘0’~‘9’
其余的就用else
所有判定条件因为是char型变量进行判定,都得加’ '。

#include<stdio.h>
int main()
{   char c; 
    int characters=0,spaces=0,numbers=0,others=0;                                              //对每行代码进行赋值
    while ((c=getchar())!='\n')                                                                //c进行取值,直到有换行就停止取值了
    {
        if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) characters++;                                   //遇到字母,+1
        else if(c==' ')  spaces++;                                                             //遇到空格,+1
        else if(c>='0'&&c<='9')  numbers++;                                                    //遇到数字,+1
        else others++;                                                                         //其他的,+1
    }
    printf("characters=%d\nspaces=%d\nnumbers=%d\nothers=%d",characters,spaces,numbers,others); //输出,各个符号记得输入清楚
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值