题目:
终于小明也开始学English了,认识26个英文字母,课后的作业就是抄写英语字母,本来就对英语不感兴趣的小明便草草写了几行abc,感觉哪个字母好写就多写几遍,并且写的毫无顺序,如AsaaaaSSdfg,现在让我们对小明同学写的英语字母以行为单位进行一点整理,按字母ASCII码的顺序输出,并在每个字母前输出该字母出现的次数,若是只出现一次则“1”省略。这样的话上面的字符串就能整理为A2S4adfg。
输入:
每行输入字数不超过10000的字符串(只有大小写英语字母)
输出:
按题中描述要求输出,字母顺序及其个数
测试数据
输入:
asd
asdasd
ASaaayhgyyyyggg
aaasAAAADDDsDjillllKKK
输出:
ads
2a2d2s
AS3a4gh5y
4A4D3K3aij4l2s
解决代码(c)
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
// a用于储存输入的字符串 b 用于储存字母出现的次数
char a[10001];
int b[123];
int i,j;
// 将b中的值默认为0
for(j=0;j<123;j++)
{
b[j]=0;
}
while(scanf("%s",a)!=EOF)
{
// 求出字符串的长度