以下是计算给定文本中可能有空行的字符、单词和行数的C程序:
#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;
}
这个程序可以计算给定文本中的字符数、单词数和行数。它通过遍历文本的每个字符,根据特定的条件进行计数。具体的实现如下:
text
,用于存储输入的文本。charCount
、wordCount
和 lineCount
,分别用于统计字符数、单词数和行数,初始值都为 0。fgets
函数从标准输入中读取文本,并将其存储到 text
数组中。strlen
函数获取文本的长度,并将其存储到变量 len
中。for
循环遍历文本中的每个字符。这个程序可以在终端中运行,用户可以输入任意文本进行统计。
领取专属 10元无门槛券
手把手带您无忧上云