发布网友 发布时间:2022-11-03 14:43
共3个回答
热心网友 时间:2023-11-01 06:52
排序和频率追答#include<stdio.h>
#include<string.h>
struct
{
char str[99]; //字符串
int n; //出现频率
}a[99]={"",0},t; //初始化
int main()
{
unsigned i,j,times=0;
for(i=0;i<99;i++)
{
scanf("%s",a[i].str);//输入字符串存储到结构体中
a[i].n++; //计算出现次数
for(j=0;j<i;j++)
if(strcmp(a[i].str,a[j].str)==0) //如果和前面的相同
{
if(a[j].n!=0)a[j].n++; //不为0的加一
a[i].n=0; //置为0
}
times++; //计算字符串个数
if(getchar()=='\n')break; //遇回车中断
}
for(i=0;i<times-1;i++) //冒泡法排序
for(j=0;j<times-1-i;j++)
if(a[j].n<a[j+1].n) //对出现次数进行降序排序
{ //交换结构体
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<times;i++)
{ //输出出现次数不为0的
if(a[i].n!=0)printf("%s %d\n",a[i].str,a[i].n);
}
return 0;
}
热心网友 时间:2023-11-01 06:53
你这得用c++吧 好像要有界面追问是啊,但编程怎么编?
热心网友 时间:2023-11-01 06:53
这已经可以当成一个小的项目了