• 洛谷【P1308】统计单词数


    思路:逐个找出单词进行比对

    笔者遇坑处:下方代码28行处判断条件未考虑到字符串末尾 ''。

          只判断空格,会导致部分情况下跳不出循环。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 char text[1000005], check[15];
     6 int len_text,len_check;
     7 int flag_loc,cnt;
     8 int main(){
     9     memset(check,0,sizeof(check));
    10     memset(text,0,sizeof(text));
    11     gets(check);
    12     gets(text);
    13     len_text=strlen(text);
    14     len_check=strlen(check);
    15     for(int q=0; q<len_text; q++){
    16         if(text[q]>='A' && text[q]<='Z')    text[q]+='a'-'A';
    17     }
    18     for(int q=0; q<=len_check; q++){
    19         if(check[q]>='A' && check[q]<='Z')    check[q]+='a'-'A';
    20     }              //对大小写进行统一
    21 //    puts(text);
    22 //    puts(check);
    23     int loc_text=0,flag;
    24     char temp[30];
    25     while(loc_text <= len_text){
    26         memset(temp,0,sizeof(temp));
    27         int loc_temp=0;
    28         while(text[loc_text]!=' ' && text[loc_text]!=''){
    29             temp[loc_temp]=text[loc_text];
    30             loc_text++;
    31             loc_temp++;
    32         }          //逐个找出单词进行比对
    33         flag=strcmp(temp,check);
    34         if(flag==0 && cnt==0)    flag_loc=loc_text-len_check;    //寻找首次位置
    35         if(flag==0)    cnt++;
    36         loc_text++;
    37     }
    38     if(cnt==0)        cout<<-1;
    39     else            cout<<cnt<<' '<<flag_loc;
    40     return 0;
    41 }
    我是这耀眼的瞬间,是划过天边的刹那火焰。
  • 相关阅读:
    中文词频统计及词云制作
    字符串操作练习:星座、凯撒密码、99乘法表、词频统计预处理
    python第二节课
    Python第一节课
    了解大数据
    pcb结构定义
    一个完整的大作业
    中文词频统计及词云制作
    字符串操作练习:星座、凯撒密码、99乘法表、词频统计预处理
    Python输入输出练习
  • 原文地址:https://www.cnblogs.com/Rane/p/9143970.html
Copyright © 2020-2023  润新知