• 将字符串中的单词分割,存入二维数组后输出


    思路

    每次内部循环需要找到一个单词,将其存入数组。外循环遍历至字符串末尾结束。

    代码

    /*************************************************************************
        > File Name: word_split.c
        > Author: KrisChou
        > Mail:zhoujx0219@163.com 
        > Created Time: Sun 24 Aug 2014 10:42:48 AM CST
     ************************************************************************/
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define N 128
    #define WORD_CNT 128
    #define WORD_LEN 256
    
    static int my_isspace(char c)
    {
        if(c == ' ' || c == '
    ' || c == '	' || c == 'v')
            return 1;
        else
            return 0;
    }
    
    static void show(char(*words)[WORD_LEN],int cnt)
    {
        int index;
        for(index = 0; index < cnt; index++)
        {
            printf("%15s",words[index]);
        }
    }
    
    static void word_save(char *line, int bg, int end, char *dest)
    {
        int index,index_dest;
        for(index = bg,index_dest = 0; index <= end;index++,index_dest++ )
        {
            dest[index_dest] = line[index];
        }
        dest[index_dest] = '';
    }
    
    static int word_split(char *line,char(*words)[WORD_LEN])
    {
        int bg,end;
        int word_cnt;
        bg = 0;
        word_cnt = 0;
        while(line[bg] != '')
        {
            while(my_isspace(line[bg]))
            {
                bg++;
            }
            if(line[bg] == '')
            {
                break;
            }
            end = bg;
            while(line[end] != '' && !my_isspace(line[end]))
            {
                end++;
            }
            word_save(line,bg,end-1,words[word_cnt++]);
            bg = end;
        }
        return word_cnt;
    }
    
    int main(int argc, char *argv[])
    {
        int cnt;
        char line[N];
        char words[WORD_CNT][WORD_LEN];
        while(fflush(stdin),gets(line) != NULL)
        {
            cnt = word_split(line,words);
            show(words,cnt);
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    Splunk Fundamentals 2 – Lab Exercises
    Splunk Fundamentals 1 Lab Exercises
    python交换机自动化巡检
    nginx web服务器
    linux tips
    web服务器统计情况
    HTTP请求报文和响应报文
    python 之路 day 14 HTML CSS
    python 之路 13 ORM SQLAlchemy
    python 之路12 RabbitMQ Python 操作mysql
  • 原文地址:https://www.cnblogs.com/jianxinzhou/p/3932682.html
Copyright © 2020-2023  润新知