单词统计的程序设计
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
------护城小兵
一、问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
描述
单词统计
要求:(1)输入任意一段英文。
(2)根据(1)中各单词出现概率的高低输出前五个单词。
(3)具有输入输出界面
二、结构图
三、数据结构设计
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
{
if(ch>='A'&&ch<='Z') ch+=32;
flag=0;
word[i][j]=ch;
j++; } else flag=1; //判断是否是一个完整单词,并将单词大小写一致
if(flag==1)
{
total++;
word[i][j]='\0';
count_word[i]++;
for(k=0;k
max)
{
maxno=k;
max=count_word[k];
}
if (max==0) break;//单词出现概率最高的前五个单词及此单词本身输出
四、处理
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图:(下页)
五、源程序
#include
#include
void main()
{
char ch='\0';
char word[1000][20];
int count_word[1000]={0};
int i=0,j=0,k=0,flag=0,total=0,l=0,max,maxno;
printf("请输入一段英文文章,以#标志结束:\n");
while((ch=getchar())!='#')
{
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
{
if(ch>='A'&&ch<='Z') ch+=32;
flag=0;
word[i][j]=ch;
j++; }
else flag=1;
if(flag==1)
{
total++;
word[i][j]='\0';
count_word[i]++;
for(k=0;kmax)
{
maxno=k;
max=count_word[k];
}
if (max==0) break;
printf("\n%-10s",word[maxno]);
count_word[maxno]=0;
}
getchar();
}
六、程序测试记录
这题为中等难度题,有一定难度!用了好久才解决。大体思想分几块还是正确的,主要是细节上,受到好多困扰,运行多次出现(或者类似的)以下界面:
单词与输入不一致,根本没有输入,出现次数都一样,后来参考资料,网上搜,发现有两个影响全局的遗漏,在判断是否为完整单词时指到下个单词字母应归0重新计数,还有就是在筛选出出现概率最大得前五个单词时,count_word[maxno]=0遗漏,后经不断调试,程序终于可以正确运行。
运行界面如下:
七、软件说明
软件功能为:对于任意输入的一段英文,可以根据这段英文中各单词出现概率的高低输出前五个单词。在运行出的界面按提示输入用户需要的英文,程序会按要求得出结果。
改进意见:还可以增加此单词出现的次数,百分率等选项,让软件服务更具体,输出界面更友好,易懂明目!