给定一个仅包含’A’-’Z’的字符串,用下面的方法进行编码

发布网友 发布时间:2022-04-23 10:08

我来回答

1个回答

热心网友 时间:2023-10-10 22:04

#include<stdio.h>
#include<string.h>
int code(char s[]){
int t,l,q=1,k;
l=strlen(s);
int i[26]={0},j[26]={0};
for(t=0;t<l;t++){
i[s[t]-'A']++;
if(j[s[t]-'A']==0){j[s[t]-'A']=q;q++;}
}
for(t=1;t<q;t++)
for(k=0;k<26;k++){
if(j[k]==t){
if(i[k]==1) printf("%c",k+'A');
else printf("%d%c",i[k],k+'A');
break;
}
}
return 0;
}
int main(){
int n;
char s[10010];
scanf("%d",&n);
getchar();
while(n--){
gets(s);
code(s);
printf("\n");
}
return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com