用C++编程
从键盘上输入一个字符串,假定字符串的长度小于80,试分别统计出,每一种英文字母(大,小写等同看待)的个数并输出求出来
答案:3 悬赏:50 手机版
解决时间 2021-08-01 22:33
- 提问者网友:锁深秋
- 2021-08-01 00:01
最佳答案
- 五星知识达人网友:英雄的欲望
- 2021-08-01 00:53
练习- -
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/if.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/lambda/casts.hpp>
using namespace std;
int main()
{
using namespace boost::lambda;
int a[26] = { 0 }, c = 0;
string str;
getline( cin, str );
for_each( str.begin(), str.end(),
( var(c) = bind(tolower, _1),
if_( bind( isalpha, _1 ) )[ ++var( a )[ var( c )-'a'] ] ) );
int i = 0;
for_each( a, a + 26, if_( _1 )
[ cout << ll_static_cast<char>( 'a' + var( i )++ ) << ":\t" << _1 << '\n' ] );
}
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/if.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/lambda/casts.hpp>
using namespace std;
int main()
{
using namespace boost::lambda;
int a[26] = { 0 }, c = 0;
string str;
getline( cin, str );
for_each( str.begin(), str.end(),
( var(c) = bind(tolower, _1),
if_( bind( isalpha, _1 ) )[ ++var( a )[ var( c )-'a'] ] ) );
int i = 0;
for_each( a, a + 26, if_( _1 )
[ cout << ll_static_cast<char>( 'a' + var( i )++ ) << ":\t" << _1 << '\n' ] );
}
全部回答
- 1楼网友:思契十里
- 2021-08-01 02:16
判断大小写
然后
char - 'a'或char - 'A'
CMap[char - 'a']++
CMap[char - 'A']++
- 2楼网友:孤独入客枕
- 2021-08-01 01:39
(1)假设 输出的 都是 大写 字母 ,
a[26] = { 'A','B'}; // 当然 ,这个 用 " 数组" 与 for 循环 来 初始化 是 简单的 ..
b[26] = {0}; b [ a[i] - 'A']++ ;
// 大致 思路 如此 , 大小 写 情况 类似 ..
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯