#include<iostream>
#include<algorithm>
using namespace std;
struct g {
string name;
int cnt;
};
bool cmp(g a,g b){
return a.name<b.name;
}
int main() {
string s;
g q[101];
int f=0;
while(cin>>s){
int k=0;
for(int i=0;i<s.size();i++){
if(s[i]!=0){
int d=1;
for(int j=i+1;j<s.size();j++){
if(s[i]==s[j]){
d++;
s[j]=0;
}
}
q[k].cnt=d;
q[k].name=s[i];
k++;
}
}
sort(q,q+k,cmp);
if(f!=0)cout<<endl;
for(int i=0;i<k;i++)cout<<q[i].name<<" "<<q[i].cnt<<endl;
f++;
}
return 0;
}
c++如何巧妙变为c,青高收捷达
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 浪客 2022-05-26 17:34关注
#include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct { char name; int cnt; }g; int cmp(const g *a, const g *b) { return a->name > b->name; } int main() { char s[100]; g q[101]; int f=0,len; while(1) { scanf("%s",s); len=strlen(s); if(len==1)break; int k=0; for(int i=0; i<len; i++) { if(s[i]!=0) { int d=1; for(int j=i+1; j<len; j++) { if(s[i]==s[j]) { d++; s[j]=0; } } q[k].cnt=d; q[k].name=s[i]; k++; } } //sort(q,q+k,cmp); qsort(q,k,sizeof(g),cmp); if(f!=0)printf("\n"); for(int i=0; i<k; i++) //cout<<q[i].name<<" "<<q[i].cnt<<endl; printf("%c %d\n",q[i].name,q[i].cnt); f++; } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 测距传感器数据手册i2c
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法