杭电1219 i还可以这样玩

Sample Input
hello, this is my first acm contest!

Sample Output
a:1
b:0
c:2
d:0
e:2
f:1
g:0
h:2
i:3
j:0
k:0
l:2
m:2
n:1
o:2
p:0
q:0
r:1
s:4
t:4
u:0
v:0
w:0
x:0
y:1
z:0

#include<stdio.h>
void main(){
	char s[100005];//定义一个字符数组用来接收
	int i;
	while(gets(s)!=NULL){
		int b[1000]={0};//先全部都存0,用于计数
		for(i=0;s[i]!='\0';i++)
			b[s[i]]++;//在这里就把字符都变成了对应的ASC码,b[]数组是97开始的,到122
		for(i='a';i<='z';i++)
			printf("%c:%d\n",i,b[i]);
		printf("\n");
	}
}

tips
//gets接收字符串的时候会自动在最后加上\0,这也是在while里不用加清空s数组的步骤的原因
//eg: 第一次的储存状态contest\0 输入acm后的储存状态acm\0est\0
// \0不算一个长度,strlen测得的是不算\0的净长

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值