gpt4 book ai didi

c++ - 如何逐行枚举从文件中读取的文本,并找到 C 中字符和单词最多的行?

转载 作者:行者123 更新时间:2023-11-30 21:37:17 24 4
gpt4 key购买 nike

我目前正在编写一个程序,该程序应该从文本文件中读取(通过命令行输入到程序),然后枚举并打印出每一行并提供有关单词数、字符数和行,以及哪一行包含最多字符/单词的信息。

到目前为止,我已经能够让它计算单词、字符和行的数量,但我很难找到一种方法来枚举和打印每行并找出哪些行具有最多的字符/单词。

这是我的代码

#include <stdio.h>

#define IN 1
#define OUT 0

int main( )
{
int line, word, character, state, place, flag
maxW, maxC;
state = OUT;
line = word = character = 0;
while( (place = getchar()) != EOF ) {

++character;
flag = IN;
printf("%c", place);

if( place == '\n' ) {
++line;
printf("%d: ", (line + 1));
flag = IN;
}
if(flag == IN) {


}

if( place == ' ' || place == '\n' || place == '\t' )
state = OUT;
else if( state == OUT ) {
state = IN;
++word;
}

}
printf("%d lines, %d words, & %d characters.\n", line, word, character);

return 0;
}

最佳答案

创建本地最高字符数和当前字符数

int highestCharCount = 0;
int currentCharCount = 0;

跟踪字符数

++currentCharCount;

每个循环检查字符数是否高于最高值,如果是,则更改最高值。

If(currentCharCount > highestCharCount){
highestCharCount = currentCharCount ;
}

在获得新行字符的同时重置它。

if( place == '\n' ) {
currentCharCount = 0;
++line;
printf("%d: ", (line + 1));
flag = IN;
}

这样,您最终将得到最大的字符数。

关于c++ - 如何逐行枚举从文件中读取的文本,并找到 C 中字符和单词最多的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35233198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com