统计一个给定字符串中指定的字符出现的次数
如输入: Hello World
输 出:
e 1
H 1
l 3
o 2
r 1
W 1
space 1
c++代码如下:
//
// main.cpp
// myTest
//
// Created by changjl on 2016/12/25.
// Copyright © 2016年 changjl. All rights reserved.
//
#include <iostream>
using namespace std;
void char_statistics(char str[]);
void test();
int main() {
char chars[] = "Hello World";
char_statistics(chars);
return 0;
}
void char_statistics(char str[])
{
int upper[26] = {0};//统计26个大写字母每个出现的次数
int lower[26] = {0};//统计26个小写字母每个出现的次数
int space_count = 0;
for(int i = 0; i<strlen(str); i++)
{
//空格次数
if(str[i] == ' ')
{
space_count ++;
continue;
}
//每个小写字母次数
if(str[i] - 'a' >=0 && str[i] - 'a' <26)
{
++ lower[str[i] - 'a'];
continue;
}
//每个大写字母次数
if(str[i] - 'A' >=0 && str[i] - 'A' <26)
{
++ upper[str[i] - 'A'];
}
}
//输出各个字母的个数
cout << "-------输出各字符的个数-------" << endl;
for(int i = 0; i < 26; i++)
{
if(lower[i] != 0)
{
cout << char(i + 'a') <<" "<< lower[i] << endl;
}
if(upper[i] != 0)
{
cout << char(i + 'A') <<" "<< upper[i] <<endl;
}
}
//输出空格的个数
if(space_count != 0)
{
cout<<"space "<< space_count << endl;
}
}