zoukankan      html  css  js  c++  java
  • 计算一篇英语文章出现频率最高的十个单词

    新的课程开始了,看到老师的题目首先想到要用文件流打开文本文档,在2月27日19:30~20:30,翻书猛补知识。过后,没有头绪,休息了。在2月28日7:30~8:30,上网寻找做题思路,大致流程较清晰,但编程无望。在3月2日,先寻找英文版小说,后开始编程,想与做确实不同,多次尝试未果,继续上网寻求帮助,用结构体与大小写转换都是通过上网得到的启发。虽然编程道路坎坷,但是英文小说的中文版(富爸爸穷爸爸)大致看了看,里面的精彩语录很受启发“要懂得如何「让钱来替你工作」,而不是「为了钱而工作」”,“什么是资产?资产就是向你口袋送钱的东西。什么是负债?负债就是把钱从你口袋掏出的东西”,“从长期来看,重要的不是你挣了多少钱,而是要看你能留下多少钱,以及留住了多久。”当然,现在最重要的还是好好实践。

     1 #include<stdio.h>
     2 #include<iostream.h>
     3 #include<string.h>
     4 struct w            
     5     {
     6         char c[50];     //单词
     7         int num;        //出现次数
     8     }w[100];
     9 int main()
    10 {
    11     FILE *fptr;
    12     char b[50],ch;
    13     int i=0,j=0,k=0,m=1,t=0,flag=0;
    14     fptr=fopen("dad.txt","r");
    15     while((ch=fgetc(fptr))!=EOF)
    16     {   
    17         if('A'<=ch&&ch<='Z')
    18             ch=ch+32;          //字母为大写时转换为小写
    19         if('a'<=ch && ch<='z')
    20         {
    21             b[i]=ch;
    22             i++;
    23             flag=1;
    24         }
    25         else
    26         {
    27            if(ch=='-'&&(ch=fgetc(fptr))=='
    ')
    28            {
    29                    flag=0;
    30            }
    31           
    32           else
    33           {
    34              if(flag==1)
    35               {   b[i]='';i=0;flag=0;m=0;
    36                   for(j=0;j<k;j++)
    37                   {
    38                       if(strcmp(b,w[j].c)==0)
    39                       {
    40                           m=1;
    41                           break;
    42                       }
    43                   }
    44                       if(m)
    45                           w[j].num++;
    46                       else
    47                       {
    48                           w[k].num=1;
    49                           strcpy(w[k].c,b);
    50                           k++;
    51                       }
    52               }
    53            }
    54           if(ch>='A' && ch<='Z')
    55               ch+=32;
    56           if(ch>='a' && ch<='z')
    57           {
    58               b[i]=ch;
    59               i++;
    60               flag=1;
    61           }
    62         }
    63     }
    64     cout<<"出现最多的十个单词是:"<<endl;
    65     for(i=0;i<k&&i<10;i++)   //简单选择排序
    66     {
    67         t=0;
    68         while(w[t].num==0)
    69             t++;
    70         for(j=1;j<k;j++)
    71         {
    72             if(w[j].num>w[t].num)
    73                 t=j;
    74             else
    75                 if(w[j].num==w[t].num)
    76                 {
    77                     if(strcmp(w[j].c,w[t].c)<0)
    78                         t=j;
    79                 }
    80         }
    81         cout<<w[t].c<<"   "<<w[t].num<<endl;
    82         w[t].num=0;
    83     }
    84     return 0;
    85 }

    21:07:47

  • 相关阅读:
    Array.of()和Array()区别
    less常用方法
    javascript时间戳转换成yyyy-MM-DD格式
    javascript中标准事件流addEventListener介绍
    javascript中模块化知识总结
    搜索栏简单小案例
    css3伸缩布局中justify-content详解
    css3动画简单案例
    正则表达式的语法
    Beautisoup库
  • 原文地址:https://www.cnblogs.com/huxiaodan/p/3577283.html
Copyright © 2011-2022 走看看