统计编程

用switch语句编写一个程序以统计各个数字、空白字符及所有其他字符出现次数

空白字符包括空格,回车和tab键

#include <stdio.h>

int main()
{
    int i, c, nwhite, nother, ndigit[10];

    nwhite = nother = 0;
    for (i = 0;i < 10; i++)
        ndigit[i] = 0;
    while ((c = getchar( )) != EOF)
    {
        switch (c)
        {
            case '0':
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
                ndigit[c-'0']++;
                break;
            case ' ':
            case '\n':
            case '\t':
                nwhite++;
                break;
            default:
                nother++;
                break;

        }
    }
    printf("digits =");
    for (i = 0;i < 10; i++)
        printf(" %d",ndigit[i]);
    printf(", white space = %d, other = %d\n",nwhite,nother);
    return 0;
}

c经过getchar后输出的是输入字符的ASCII码,所有case’0’到case’9’后的nigit的[]中写c-'0’来表示1~9。


运行程序后输入答案时,注意要用英文输入,不能使用中文输入。

当我们输入答案完毕后,注意Windows系统与Linux系统差别:

Windows系统,先点击回车,然后按Ctrl+Z,再点击回车。

Linux系统,直接按Ctrl+D快捷键即可得出答案。

注意Windows系统Ctrl+Z前的回车也算一个空白字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值