您好,欢迎来到叨叨游戏网。
搜索
您的当前位置:首页单词统计的程序设计报告[1]

单词统计的程序设计报告[1]

来源:叨叨游戏网


单词统计的程序设计报告[1]

单词统计的程序设计报告

一、问题描述

单词统计

要求:(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]++;

开始 输入文章 下一个否 完整是 单词此单最后一个单是 否 大写字字母指此单最后一个单词输出各个输出单词个退出 第一个=

五、源程序

#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;kif(strcmp(word[i],word[k])==0) { count_word[k]++; count_word[i]=0; i--; break; } } i++; j=0; } }

printf(\"所要求的单词为:\\n\");

printf(\"----------------------------------------\"); for(l=0;l<5;l++) {

max=0; maxno=0;

for(k=0;kif (count_word[k]>max) {

maxno=k;

max=count_word[k]; }

if (max==0) break;

printf(\"\\n%-10s\

count_word[maxno]=0; }

getchar(); }

六、程序测试记录

这题为中等难度题,有一定难度!用了好久才解决。大体思想分几块还是正确的,主要是细节上,受到好多困扰,运行多次出现(或者类似的)以下界面:

单词与输入不一致,根本没有输入,出现次数都一样,后来参考资料,网上搜,发现有两个影响全局的遗漏,在判断是否为完整单词时指到下个单词字母应归0重新计数,还有就是在筛选出出现概率最大得前五个单词时,count_word[maxno]=0遗漏,后经不断调试,程序终于可以正确运行。

运行界面如下:

七、软件说明

软件功能为:对于任意输入的一段英文,可以根据这段英文中各单词出现概率的高低输出前五个单词。在运行出的界面按提示输入用户需要的英文,程序会按要求得出结果。

改进意见:还可以增加此单词出现的次数,百分率等选项,让软件服务更具体,输出界面更友好,易懂明目!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务