高分求一个C语言数据结构程序题

来源:百度知道 编辑:UC知道 时间:2024/06/08 08:40:15
输入一篇文章(文章中可能有多个空格,回车符及标点符号),统计出现的每个英文单词及在文章中出现的次数,程序必须在一篇文章输入后就输出所有结果.(即所有的单词及出现次数).

必须用以下方法完成:
建立链表,链表中每个节点的数据域有两个值,一个储存出现的英文单词,一个储存数字表示单词出现次数.(出现之前没有过的新单词时开辟新节点,出现相同单词时储存这个单词的节点数据域中保存单词个数的值加1)
最后便历整个链表,输出单词和出现次数
程序语言:C语言,不得出现iostream,namespace,class等C++中的语句~!!!

算法不用在这里告诉我了,我基本上都知道,只是实现上游点问题,高分求得是一个能运行的纯C语言程序.
复制党绕行~!

#include <stdlib.h>
#include <conio.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<windows.h>
#include<iostream.h>
void menu()
{
system("cls");
printf("********************文本读取与查询********************\n");
printf("1.统计文本中单词的个数\n");
printf("2.输入指定的单词或短语查找它的出现次数\n");
printf("3.输入指定的单词或短语替换\n");
printf("4.推出\n");
printf("请输入选择:");
}
class Text
{
public:
void birth()
{
FILE *fp;
char ch;
int i,j,n;
fp=fopen("text.txt","rb+");
for(i=0;i<1000;i++)
{
for(j=0;j<1000;j++)
{
ch=fgetc(fp);
if(ch=='$')
{
n=i;
i=1000;
break;
}
a[i][j]=ch;
if(ch=='.' || ch=