gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 04:59:12 24 4
gpt4 key购买 nike

这是规范。

从 stdin 读取的每个字节都算作一个字符,EOF 除外。单词被定义为连续的字母序列(a 到 z,A 到 Z)和撇号(',十进制值 39),由这些范围之外的任何字符分隔。行定义为由换行符 ('\n') 分隔的连续字符序列。最后一个换行符之后的字符将不计入行数。

我的代码似乎适用于简单的输入,但是当我尝试输入一个包含多个段落并由空行分隔的大文件时,我的数字被丢弃,字数和字符数太高。

目前为止

#include <stdio.h>

int main(){

char ch;
unsigned int long linecount, wordcount, charcount;
int u;
linecount=0;
wordcount=0;
charcount=0;


while((ch=getc(stdin))!=EOF){


if (ch !='\n') {++charcount;}
if (ch==' ' || ch=='\n') {++wordcount;}
if (ch=='\n') {++linecount;}

}
if(charcount>0){
++wordcount;
++linecount;
}

printf( "%lu %lu %lu\n", charcount, wordcount, linecount );

return 0;

}

最佳答案

当你遇到空行时,你会连续看到两次\n。寻找这些事件,每次看到它们时,将您的字数减一。

关于计算给定文本中可能有空行的字符、单词和行数的 C 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42322525/

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