初级启示者
题目描述 Description
现在有很多个字符,它们排排站。老师需要你统计其中的每个字母的个数,同时将这些字母按照字典序输出。
输入描述 Input Description
输入一个字符串(长度不超过10^6)
输出描述 Output Description
输出排序后的字母,以及每个字母的个数,格式参考样例
样例输入 Sample Input
121abcabcXZYX+++
样例输出 Sample Output
XX2 Y1 Z1 aa2 bb2 cc2
谁回答的又快又好!我就采纳谁!
董宇昊在2020-03-18 11:54:08追加了内容
for(int i=1;i<=s.size()-1;i++){
a[s[i]]++;
}
for(int i=1;i<=10000;i++){
for(int j=1;j<=a[i];j++){
if(a[i]){
cout<<(char)i;
}
}
if(a[i])
cout<<a[i]<<endl;
}
以上代码为什么会输出
+++3
11
21
XX2
Y1
Z1
aa2
bb2
cc2
董宇昊在2020-03-18 12:13:21追加了内容
for(int i=1;i<=s.size()-1;i++){
a[s[i]]++;
}
for(int i=1;i<=10000;i++){
for(int j=1;j<=a[i];j++){
if(a[i]!=0){
if(i>=65&&i<=90||i>=97&&i<=122)
cout<<(char)i;
}
}
if(a[i]!=0)
if(i>=65&&i<=90||i>=97&&i<=122)
cout<<a[i]<<endl;
}
这次编译过了,但依然0分!
@高子健 @张岳恒
董宇昊在2020-03-19 14:41:54追加了内容
for(int i=1;i<=s.size()-1;i++){
a[s[i]]++;
}
for(int i=65;i<=90;i++){
if(a[i]!=0){
for(int j=1;j<=a[i];j++){
cout<<(char)i;
}
cout<<a[i]<<endl;
}
}
for(int i=97;i<=122;i++){
if(a[i]!=0){
for(int j=1;j<=a[i];j++){
cout<<(char)i;
}
cout<<a[i]<<endl;
}
}
@高子健 你到底过没过?
这样写还是0分,
求大佬找错!
只有一天的时间了,我会加悬赏的!!!
董宇昊在2020-03-19 23:12:46追加了内容
大佬们,能帮帮我找一下错吗?
新手天翼
看在我们是同学的份上我就帮你一把
先输入>>字符串;
定义桶数组;
循环{
桶数组[字符串[??]]++
}
循环(i='...';i<='......';i++)
{
判断(......){
循环{
输出<<" ... ";//记得强制转换
再输出<<" ..."\\两个要分开输出,否则会输出两次数字
}
}
判断(......){
循环{
输出<<" ... ";
}
再输出<<" ..."\\两个要分开输出,否则会输出两次数字
}
}
不能给你代码
否则我又要禁言了
不会再问我
初级启示者
@高子健 ,这样连编译都过不了!
for(int i=1;i<=s.size()-1;i++){
a[(int)s[i]]++;
}
for(int i=65;i<=90;i++){
if(a[i]!=0){
for(int j=1;j<=a[i];j++){
cout<<(char)i;
cout<<a[i]<<endl;
}
}
}
for(int i=97;i<=122;i++){
if(a[i]!=0){
for(int j=1;j<=a[i];j++){
cout<<(char)i;
cout<<a[i]<<endl;
}
}
}
董宇昊在2020-03-19 20:12:34追加了内容
@高子健 ,加我QQ,我们私聊!2259790174
董宇昊在2020-03-20 12:11:52追加了内容
@高子健 ,这个是不是你?
资深光能
输入个字符串,
循环遍历,并放入桶中:a[(强转)字符串【i】]++
双重循环遍历桶数组
判断是否为字母且桶数组不为零
如果是,就输出强转为char的i
再在外循环判断是否为字母且桶数组不为零
是就输出桶数组i并换行
望采纳
张岳恒在2020-03-18 12:26:56追加了内容
你要判断强转过后的i是不是字母
条件还有a[i]!=0
张岳恒在2020-03-18 12:28:51追加了内容
还有字符串从0遍历
张岳恒在2020-03-18 12:29:41追加了内容
是a[(强转为int)(s[i])]++
张岳恒在2020-03-18 12:48:55追加了内容
a[i]!=0和判断字母放在一个if里
张岳恒在2020-03-18 12:50:22追加了内容
千万注意:
你要判断强转过后的i是不是字母
张岳恒在2020-03-20 12:23:12追加了内容
从一遍历,还要判断字母!!!
s[i]>='a'&&s[i]<='z'
新手天翼
for(int i=' ';i<=' ';i++)//判断是不是大写字母
{
if !=0){
循环(){
输出<<
输出<<
}
}
}
for(int i=' ';i<=' ';i++)//判断是不是小写字母
{
if !=0){
循环(){
输出<<
输出<<
}
}
}
按照这个格式写