困难的作业(小明正在做作业。老师给了他一些文章,让他说出每个字母出现的次数。小明对这个问题无从下手,你可以帮帮他吗?输入行包含一篇文章,所有字母都是小写的。你只需要数一数每个字母的数量。)

代码
#include<stdio.h>
int main(){
    int z[26]={0},i;
    char c[20]={},d;
    do{
        scanf("%s",c);
        for(i=0;c[i];i++){
            if(c[i]>='a'&&c[i]<='z'){
                z[c[i]-'a']+=1;
            }
        }
    } while(d=getchar()==' ');
    for(i=0;i<25;i++){
        printf("%d ",z[i]);
    }
    printf("%d",z[25]);
    return 0;
}
友情提示

1、scanf函数遇到空格不录入,故而使用这个循环语句。相当于是以空格隔开的每串字符为单位录入字符数组,故而字符数组里是没有空格的。

2、最后输出的时候多用了一次printf函数是因为输出最后一个数组成员时后面不能多个空格。

3、多用了一个整型数组对每个字母进行计数,整型数组下标是用ASCII码向字符数组搭桥。

题目描述

小明正在做作业。老师给了他一些文章,让他说出每个字母出现的次数。小明对这个问题无从下手,你可以帮帮他吗?

输入格式

输入行包含一篇文章,所有字母都是小写的。你只需要数一数每个字母的数量。文章的长度 l(0≤l≤105)

输出格式

针对输入的文章,你必须有序说出每个字母出现的次数 nn 是一个正整数,同时字母顺序为从“a”“z”。正整数之间以空格间隔。

输入输出样例

输入样例1 hello, this is my first acm contest! work hard for hdu acm.

输出样例1 3 0 3 2 2 2 0 4 3 0 1 2 3 1 4 0 0 4 4 4 1 0 1 0 1 0

说明/提示

只需统计各字母出现次数,无需计算符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值