欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

9 C

程序员文章站 2022-07-13 23:46:18
...

问题描述:
任意给定一个字符串,字符串中包含除了空格、换行符之外的的任意字符。你的任务是统计出现在该字符串中的各字母(即“A—Z”,“a—z”)的个数(区分大小写)。

输入与输出要求:
输入一个长度不超过100的非空字符串。字符串中不会出现空格、换行符。输出字符串中出现的字母的统计信息,每个字母的统计信息占一行,按照字母的ASCII码的顺序输出。

程序运行效果:
AAAsdf&^%DF879as↙
The character A has presented 3 times.↙
The character D has presented 1 times.↙
The character F has presented 1 times.↙
The character a has presented 1 times.↙
The character d has presented 1 times.↙
The character f has presented 1 times.↙
The character s has presented 2 times.↙
注意单词“time”不论单复数,一律输出复数形式“times”。

#include<stdio.h>
int main() {
	char a[100];
	scanf("%s",a);
	int i,k;
	int b[80]={0};
	for(i=0;a[i]!='\0';i++){
		k=a[i]-'0';
		b[k]++;
	}
	for(i=17;i<75;i++){
		if(i>42&&i<49) continue;
		//17-42为A-Z,49-74为a-z 
		if(b[i]!=0){
			printf("The character %c has presented %d times.\n",i+'0',b[i]);
		}
	}
	return 0;
}