| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9336 人关注过本帖
标题:求为什么会output limit exceeded
取消只看楼主 加入收藏
rainnese
Rank: 1
来 自:广州
等 级:新手上路
帖 子:51
专家分:0
注 册:2016-1-15
结帖率:56.25%
收藏
已结贴  问题点数:5 回复次数:5 
求为什么会output limit exceeded
给出年月日,计算改日是该年第几天
#include<stdio.h>//求某个日期在一年中是第几天 172
int sum(int month, int day)
{
    int a[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
    for (int i = 1;i < month;i++)
        day += a[i];
    return day;
}
int main()
{
    int year, month, day, sum1 = 0,leap=0;
    while (1)
    {
        scanf("%d-%d-%d", &year, &month, &day);
        if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)leap = 1;
        sum1 = sum(month, day);
        if (leap==1&&month>2)printf("%d\n", sum1 + 1);
        else printf("%d\n", sum1);
    }
    return 0;
}
结果是output limit exceeded,为什么?
搜索更多相关主题的帖子: 年月日 
2016-01-26 22:36
rainnese
Rank: 1
来 自:广州
等 级:新手上路
帖 子:51
专家分:0
注 册:2016-1-15
收藏
得分:0 
回复 2楼 beyondyf
因为题目说输入多组数据,但又没说什么时候输入结束,不是这样处理吗?

计算机专业的大学生
2016-01-26 23:01
rainnese
Rank: 1
来 自:广州
等 级:新手上路
帖 子:51
专家分:0
注 册:2016-1-15
收藏
得分:0 
回复 4楼 beyondyf
我改成这样了怎么还是同样的问题?
#include<stdio.h>
int sum(int month, int day)
{
    int a[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
    for (int i = 1;i < month;i++)
        day += a[i];
    return day;
}
int main()
{
    int year, month, day, sum1 = 0,leap=0;
    char a, b, c, d;
    while(scanf("%d-%c%c-%c%c", &year, &a,&b, &c,&d))
    {
        month =(a-'0') * 10 + b-'0';
        day = (c-'0') * 10 + d-'0';
        if (month >= 13||day>31||year<999||year>9999)break;
        if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)leap = 1;
        sum1 = sum(month, day);
        if (leap==1&&month>2)printf("%d\n", sum1 + 1);
        else printf("%d\n", sum1);
    }
    return 0;
}

计算机专业的大学生
2016-01-26 23:17
rainnese
Rank: 1
来 自:广州
等 级:新手上路
帖 子:51
专家分:0
注 册:2016-1-15
收藏
得分:0 
回复 6楼 beyondyf
虐心也要继续玩,虐死为止
题目:
Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
Original Transformed

2000-01-01
2000-01-01[EOL] [EOF]

Sample Output
Original Transformed

1

计算机专业的大学生
2016-01-27 12:00
rainnese
Rank: 1
来 自:广州
等 级:新手上路
帖 子:51
专家分:0
注 册:2016-1-15
收藏
得分:0 
回复 8楼 beyondyf
很抱歉啊!
谢谢!下次会注意的

计算机专业的大学生
2016-01-27 13:48
rainnese
Rank: 1
来 自:广州
等 级:新手上路
帖 子:51
专家分:0
注 册:2016-1-15
收藏
得分:0 
回复 10楼 beyondyf
看懂你的分析了,好棒!感觉自己太糟糕了。不过还有个地方不明白,题目说“输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,另外,可以向你确保所有的输入数据是合法的”不用在代码上确保按格式输入吗?比如说,年份输入五位数或者日期、月份只输入一位数就结束循环?


计算机专业的大学生
2016-01-27 20:09
快速回复:求为什么会output limit exceeded
数据加载中...
 
   



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

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