标题:输出超限
只看楼主
祁建邵
Rank: 2
来 自:河南
等 级:论坛游民
帖 子:28
专家分:10
注 册:2020-10-15
结帖率:100%
已结贴  问题点数:20 回复次数:3 
输出超限
输出超限问题
我的程序:
#include<stdio.h>
#include<string.h>
int main()
{
    int ch;
    int i;
    int x = 0;
    int y=0;
    char a[100][100];
    int h = 0;
    while (1)
    {
        for ( i = 0;; i++)
        {
            gets_s(a[i]);
            
            y = a[i][0];
            if (y == '#')x++;
            if (x==2)
            {
                x = 0; break;
            }
        }
        
        printf("%d\n", i-1);
    }
}



问题:作文有几行

输入
每个作文都以一行#开始。随后是若干行字符,然后再以#结束。

输出
输出每个作文有多少行。

样例输入
#
hello world!
bye world!
#
#
I love C programming language!
 Yes, I'm xiaomeng.
   haha!


another paragraph. I'm so smart!
bye!

#
样例输出
2
5

题目提示;
可以用如下代码一个一个读入字符:


int ch;


while( (ch=getchar()!=EOF ) {


   ...


}


上网查EOF是什么,思考为什么ch要设为int型。

搜索更多相关主题的帖子: world 输出 输入 EOF int 
2020-11-12 00:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
char a[100][100];
这两个100是从哪里来的?你把题目中“限定最多100行,限定每行最多99字符”的语句摘出来我看看。

每个作文都以一行#开始。随后是若干行字符,然后再以#结束。
后面的“以#结束”我理解,而前面的“一行#”我就不理解了。
是不是说,如果不是“一行#”那就不是开始,比如“#abc”“abc#”“#   ”“   #”等都不算开始?
2020-11-12 08:35
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
不理解题意,瞎写的

程序代码:
#include <stdio.h>

int main( void )
{
    int pre = 0; // 上一个非空字符
    unsigned count = 0; // 行数
    for( int ch; ch=getchar(), ch!=EOF; )
    {
        if( pre==0 && ch=='#' ) // 文章开始
        {
            pre = '\n';
            count = 0;
        }
        else if( pre!=0 && ch=='#' ) // 文章结束
        {
            pre = 0;
            printf( "%u\n", count );
        }
        else if( pre!=0 ) // 文章正文
        {
            if( ch=='\n' && pre!='\n' )
                ++count;

            if( ch!='\t' && ch!='\v' && ch!='\f' && ch!='\r' && ch!=' ' ) // 如果ch不是空白字符(\n除外)
                pre = ch;
        }
    }
}
2020-11-12 08:48
祁建邵
Rank: 2
来 自:河南
等 级:论坛游民
帖 子:28
专家分:10
注 册:2020-10-15
得分:0 
回复 3楼 rjsp
大佬不愧是大佬,服了。
2020-11-12 09:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503870-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048619 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved