用TURBO C写一段统计类的程序.

来源:百度知道 编辑:UC知道 时间:2024/05/05 07:18:17
本人正在学习C语言,学艺不精......
现急用一统计程序,望得到高人指点~~~

题目是这样的:
编写一完整程序,对命令行输入的文本文件,统计该文本文件中不同长度的单词出现的频率、最长的单词长度和出现频率最多的数目,并按如下形式显示。假定各单词间以空格分隔,单词最长不超过30个字符。

例如,文本文件中的内容为:
dfg ghjk hjkll yu rty yuio
asdfghjk opio we

运行后屏幕显示如下:
WordLen WordCount
2 2
3 2
4 3
5 1
8 1
11 1
maxwordLen=11,most Wordcount=3

想了两天还是一团糟......

请用C写,不是C++,要能在Turbo C里运行通过的.感激不尽!!!
请用C写,不是C++,要能在Turbo C里运行通过的.感激不尽!!!
请用C写,不是C++,要能在Turbo C里运行通过的.感激不尽!!!
米若明,先谢谢你的热情.

不过还是有点点不符合要求......

不理它了,就拿它交了,我都快晕死了......-_-!!!

200给你了.

小弟刚开始在这里混,所以比较贪分
又用C写了遍~
我就是你前一次提问的第一个回答者,两边分都给我哦~^_^,我是米若明
只要在程序目录下的1.txt文件中输入数据.运行即可

_____________________________________________________
#include <stdio.h>

#define MAX_LENGTH 255//设定最长的单词长度

int main()
{

FILE *fp1;
int count[MAX_LENGTH]={0};
char temp[MAX_LENGTH];
int Max=-1;
int Most=-1;
int i;

if(NULL==(fp1=fopen("1.txt","r")))
{
printf("Open file error\n");
return 0;
}

while(!feof(fp1))
{
fscanf(fp1,"%s",&temp);
count[strlen(temp)]++;
}
printf("WordLen WordCount\n");
fclose(fp1);

for (i=1;i<255;i++)
{
if (count[i])
{
if (i>Max)
{
Max=i;
}

if (count[i]>Most)
{
Most=count[i];
}
printf("%d %d\n",i,count[i]) ;
}