首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算给定文本中可能有空行的字符、单词和行数的C程序?

以下是计算给定文本中可能有空行的字符、单词和行数的C程序:

代码语言:txt
复制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    char text[1000];
    int charCount = 0, wordCount = 0, lineCount = 0;
    int i, len, flag;

    printf("请输入文本:\n");
    fgets(text, sizeof(text), stdin);

    len = strlen(text);

    for (i = 0; i < len; i++) {
        // 统计字符数
        if (text[i] != '\n' && text[i] != '\0') {
            charCount++;
        }

        // 统计单词数
        if (text[i] == ' ' || text[i] == '\n' || text[i] == '\t' || text[i] == '\0') {
            flag = 0;
        } else if (flag == 0) {
            flag = 1;
            wordCount++;
        }

        // 统计行数
        if (text[i] == '\n') {
            lineCount++;
        }
    }

    printf("字符数:%d\n", charCount);
    printf("单词数:%d\n", wordCount);
    printf("行数:%d\n", lineCount);

    return 0;
}

这个程序可以计算给定文本中的字符数、单词数和行数。它通过遍历文本的每个字符,根据特定的条件进行计数。具体的实现如下:

  1. 声明一个字符数组 text,用于存储输入的文本。
  2. 声明变量 charCountwordCountlineCount,分别用于统计字符数、单词数和行数,初始值都为 0。
  3. 使用 fgets 函数从标准输入中读取文本,并将其存储到 text 数组中。
  4. 使用 strlen 函数获取文本的长度,并将其存储到变量 len 中。
  5. 使用 for 循环遍历文本中的每个字符。
  6. 在循环中,根据特定的条件进行计数:
    • 如果字符不是换行符和结束符,则字符数加一。
    • 如果字符是空格、换行符、制表符或结束符,并且上一个字符不是空格、换行符、制表符或结束符,则单词数加一。
    • 如果字符是换行符,则行数加一。
  • 循环结束后,输出字符数、单词数和行数的统计结果。

这个程序可以在终端中运行,用户可以输入任意文本进行统计。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券