| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9067 人关注过本帖
标题:题目:给定一个日期,输出这个日期是该年的第几天
只看楼主 加入收藏
lz1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-10-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
题目:给定一个日期,输出这个日期是该年的第几天
#include<stdio.h>
int main()
{
    int a,b,c;
     while(~scanf("%d/%d/%d",&a,&b,&c))
    {
    int i,n=0,m=0;
     int d[12]={31,28,31,30,31,30,31,31,30,31,30,31};
     for(i=0;i<(b-1);i++)
     n=n+d[i];
     if ((a%4==0&&a%100!=0)||a%400==0)m=1;
        if(b>2&&m==1)
        n=1+n+c;
        else n=n+c;
     printf("%d\n",n);
    }
}
求ACM大神指错
2016-10-10 23:10
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
收藏
得分:1 
对的啊
2016-10-11 00:01
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:1 
while(~scanf("%d/%d/%d",&a,&b,&c)) 楼主是不是输入不对忘记输入/了
%d/%d/%d ,直接输入 2016 10 11 不行,加/ , 2016/10/16

早知做人那么辛苦!  当初不应该下凡
2016-10-11 09:19
哈斯佛道
Rank: 2
等 级:论坛游民
帖 子:23
专家分:81
注 册:2016-8-15
收藏
得分:1 
回复 楼主 lz1
不太懂,while里的“~”按位取反作用。scanf的返回值是(int)输入的数据个数,按楼主的程序,我试了去掉~符号,运行没问题。但是我输入不完整的日期它也出来结果了,这种情况需要规避。还有主函数不太懂为啥要 int型的返回值?


[此贴子已经被作者于2016-10-11 09:31编辑过]

2016-10-11 09:29
humeng
Rank: 1
等 级:新手上路
帖 子:18
专家分:4
注 册:2016-10-10
收藏
得分:2 
多次输入应该写
while(scanf("%d/%d/%d",&a,&b,&c)!=EOF)
2016-10-11 21:39
lz1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-10-10
收藏
得分:0 
谢谢各位了啊,但提交给ACM检测系统后,一直报错
Output Limit Exceeded
2016-10-11 23:20
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:15 
以下是引用lz1在2016-10-10 23:10:36的发言:

#include<stdio.h>
int main()
{
    int a,b,c;
     while((scanf("%d/%d/%d",&a,&b,&c))==3)    //这句还是修改下,你那样写容易死循环。按位取反是要所有的位都是1,包括最高位,只要有一位不是1就执行   
    {
     int i,n=0,m=0;
     int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
     if ((a%4==0&&a%100!=0)||a%400==0) d[2]+=1;
     for(i=1;i<b;i++)
        n+=d[i];
     printf("%d\n",n+c);
    }
}
求ACM大神指错

在你的代码基础上简化了下。
2016-10-11 23:34
快速回复:题目:给定一个日期,输出这个日期是该年的第几天
数据加载中...
 
   



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

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