这个程序结果为什么会这样呢?用竖向直方图要怎样显示?
题目是读取一篇英文文章,统计不同长度单词的个数,并用竖向直方图表示出来。目前我只做了统计部分,但是却出现了问题。读取的文本是有内容的,但是最后显示的都是0个。。T_T希望高手们可以指点下,新手感激不尽~~ 源程序如下: #include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
FILE *fp;
char ch='0',name[50],*filename=name;
int len=0,i=0,j=0;
int count[11]={0,0,0,0,0,0,0,0,0,0,0}; //用于存放相同长度单词的个数
printf("请输入文章地址:\n"); //输入需要统计的文章地址,如"F:\shujiachengxu\text\ceshi.txt"
gets(name); //得到地址
printf("正在扫描文章,请等待片刻……\n"); //提示语句
fp=fopen(filename,"r"); //打开文件
ch=fgetc(fp); //逐字符对文件进行读取
if (fp==NULL)
printf("File open error\n");
else
{
while(!feof(fp))
{
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||(ch='-')||(ch='\''))
{
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
j++;
else
;
}
else
{
if(j<=10)
len=j;
else
len=11;
count[len-1]=count[len-1]+1;
}
ch=fgetc(fp);
}
}
fclose(fp);
for(i=0;i<10;i++)
printf("单词长度为%d的单词有%d个\n",i+1,count[i]);
printf("单词长度大于10的单词有%d个\n",count[10]);
}
再发一遍,不知道会不会违规。。。T_T但是。。刚才那个帖子忘了弄分数了。。求版主谅解。。女生不该当程序猿的。更何况是个渣渣。。T_T