zoukankan      html  css  js  c++  java
  • 习题6-8 统计一行文本的单词个数

    本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。

    输入格式:

    输入给出一行字符。

    输出格式:

    在一行中输出单词个数。

    输入样例:

    Let's go to room 209.
    
     

    输出样例:

    5
     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<string.h>
     4 #include<math.h>
     5 int main() {
     6     int n = 0;                    //整个句子字数
     7     int words = 0;                        //单词个数
     8     char a[1000];
     9     gets(a);                    //读取整个句子
    10     n = strlen(a);
    11     for (int i = 0; i < n; i++) {
    12         if (a[i] != ' ') {        //如果读到了字符
    13             words++;            //单词数+1
    14             for (;; i++) {              //进入小循环
    15                 if (a[i] == ' ') {        //如果下一个字符是空格,说明这个单词结束了  
    16                     break;          //跳出循环
    17                 }
    18             }
    19         }
    20     }
    21     printf("%d", words);
    22     return 0;
    23 }

    这个题目思路很重要。

    我原来的思路是:把一行的文本保存到数组里面,如果读到空格了,计数器就+1,然后发现有问题,比如输入hello world!,只读到了1个空格,然而却有2个单词,于是就最后输出+1。(突然感觉自己这样子好蠢,自己骗自己)

    提交了发现除了最经典的例子剩下都没有过,然后看了下其他的数据,发现自己太单纯了。

    最后想到了这个办法,非常好!我觉得这个思路真的灰常棒。

  • 相关阅读:
    python 单例模式
    socketserver 多进程、多线程应用实例
    socket 编程的一些应用例子
    模拟一个http 请求的json格式报文,带 rsa 签名操作
    python excel基本操作
    多线程 进程间共享变量等
    多线程 multiprocessing 的几个小例子
    mysql 数据库的相关操作
    正则表达式匹配IP地址
    32-服务的容量规划:怎样才能做到有备无患
  • 原文地址:https://www.cnblogs.com/KeithTee/p/13855553.html
Copyright © 2011-2022 走看看