【问题标题】:Counting paragraphs that dont end in a Period, C Language计算不以句点结尾的段落,C 语言
【发布时间】:2015-08-19 14:04:00
【问题描述】:

基本上我需要找到一种方法来发现段落是否以句点 (.) 结尾。

此时我已经可以计算给定文本具有的段落,但我没有想出任何东西来检查它是否在句点中结束。

任何帮助都会帮助我,谢谢

char ch;
   FILE *fp;
   int paragraph=0;
   int newLine=0;
   fp = fopen("123.txt","r");

   while( ( ch = fgetc(fp) ) != EOF ){

        if(ch=='\n'){
            newLine++;
            if(newLine==2){
                paragraph++;
                newLine=0;
            }
        }
            else{
                newLine=0;
            }


    }
  printf("%d\n",paragraph);
  fclose(fp);
  return 0;

【问题讨论】:

  • 可以将前一个字符存储在else部分。然后检查你是否有两个换行符,如果前一个字符是句点。
  • char ch; 应该是 int ch;。你很幸运char 在你的系统上默认签名,否则程序永远不会停止。它仍然是签名字符的错误,因为它会错误地停止在 '\377'
  • @Wimmel 你的解释足以让我弄清楚,谢谢你的评论,干杯。

标签: c file char


【解决方案1】:
if(ch=='\n'){
            newLine++;
            if(newLine==2){
                paragraph++;
                newLine=0;
            if(temp!='.'){
                ponto++;
            }
            }
        }
            else{
                newLine=0;
                temp=ch;
                }
    }

【讨论】:

    猜你喜欢
    • 2014-02-26
    • 2016-07-05
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 2013-04-01
    相关资源
    最近更新 更多