#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct LinkNode
{
char word[25];
struct LinkNodenext;
int count;
}LinkNode;
LinkNodecreate()
{
LinkNodehead = (LinkNode)malloc(sizeof(LinkNode));
head->next = NULL;
return head;
}
LinkNode wordCheck(LinkNode head, char word[])
{
LinkNode p;
if(head==NULL)
return NULL;
p=head->next;
while(p!=NULL)
{
if(strcmp(p->word, word)==0)
return p;
else
p=p->next;
}
return NULL;
}
void Insert(LinkNodehead, charb)
{
LinkNodenewNode = (LinkNode*)malloc(sizeof(LinkNode));
while (head->next != NULL)
head = head->next;
head->next = newNode;
strcpy(newNode->word, b);
newNode->count = 1;
newNode->next = NULL;
}
LinkNodecreateList()
{
int n;
char word[25];
LinkNodep1, wordcheck;
printf("请输入单词的个数\n");
scanf("%d", &n);
LinkNodehead = create();
p1 = head;
printf("请输入单词,以空格作为分隔符\n");
while (n)
{
scanf("%s", word);
wordcheck = wordCheck(head, word);
if (wordcheck == NULL)
Insert(head, word);
else
wordcheck->count++;
n--;
}
return head;
}
void sort(LinkNode *head)
{
LinkNode *p1;
LinkNode *p2;
LinkNode *maxCount;
if(head==NULL)
return;
for(p1=head->next; p1->next!=NULL; p1=p1->next)
{
maxCount=p1;
for(p2=p1->next; p2!=NULL; p2=p2->next)
{
if(p2->count>maxCount->count)
maxCount=p2;
}
}
}
void input(LinkNode *head, int k)
{
LinkNode *p;
if(head==NULL)
return;
p=head->next;
printf("出现次数最多的%d个单词为:\n", k);
while(k!=0&&p!=NULL)
{
printf("%s出现了(%d次)\n", p->word, p->count);
p=p->next;
k--;
}
}
int main()
{
int k;
LinkNode *head;
head =createList();
sort(head);
printf("请输入要输出的单词数:");
scanf("%d", &k);
input(head, k);
return 0;
}
把这个写成伪代码~把这个写成伪代码~
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
悬赏问题
- ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?