统计字符数 单词数 行数

//divisors.c --统计字符数 单词数 行数

#include<stdio.h>
#pragma warning(disable  : 4996)
#include<stdbool.h>
#include<ctype.h>
constexpr auto STOP = '|';

int main() 
{
    char c;
    char prev;
    long n_chars = 0L;
    int n_lines = 0;
    int n_words = 0;
    int p_lines = 0;
    bool inword = false;
    printf("Enter text to be analyzed(|to terminate:\n");
    prev = '\n';

    while ((c=getchar()) !=STOP)
    {
        n_chars++;
        if (c=='\n')
        {
            n_lines++;
        }
        if (!isspace(c)&& !inword)
        {
            inword = true;
            n_words++;
        }
        if (isspace(c)&&inword)
        {
            inword = false;
            
        }
        prev = c;    
    }
    if (prev!='\n')
    {
        p_lines = 1;
        

    }printf("characters = %ld,words=%d,lins =%d, ", n_chars, n_words, n_lines);
        printf("partial lines = %d\n", p_lines);

    return 0;

}

posted @ 2022-10-19 09:00  江南王小帅  阅读(33)  评论(0)    收藏  举报