| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 681 人关注过本帖
标题:我用C语言错在哪
只看楼主 加入收藏
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
我用C语言错在哪
Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。

 

Input
一个数T,后面T行每行有一个日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。

 

Output
T行,每行一个数,表示此人从出生到18岁生日所经过的天数。如果这个人没有18岁生日,就输出-1。

 

Sample Input
1
1988-03-07
 

Sample Output
6574
 











#include<stdio.h>
int main ()
{
    int year,month,day,i,j,sum,n;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d-%d-%d",&year,&month,&day);
        
        if(year+18<2010)
        {
            if((year%400==0)||(year%4==0&&year%100!=0))
            {
                if(month==2&&day==29)
                {
                    printf("-1");
                }
            }
            else
            {
                for(i=year;i<=year+18;i++)
                {
                    if((i%400==0)||(i%4==0&&i%100!=0))
                        j++;
                }
                sum=365*18+j;
                printf("%d",sum);            
            }
            
        }
        else
        {
            printf("-1");
        }   
        
        
    }
   
   
    return 0;
}
搜索更多相关主题的帖子: C语言 
2010-10-28 16:34
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:0 
#include<stdio.h>
int main ()
{
    int year,month,day,i,j,sum,n;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d-%d-%d",&year,&month,&day);
        
        if(year+18<2010)
        {
            if((year%400==0)||(year%4==0&&year%100!=0))
            {
                if(month==2&&day==29)
                {
                    printf("-1");
                }
            }
            
            for(i=year,j=0;i<=year+18;i++)
            {
                if((i%400==0)||(i%4==0&&i%100!=0))
                    j++;
            }
            sum=365*18+j-1;
            printf("%d\n",sum);            
            
            
        }
        else
        {
            printf("-1");
        }   
        
        
    }
   
   
    return 0;
}
2010-10-28 16:46
cacker
该用户已被删除
收藏
得分:7 
提示: 作者被禁止或删除 内容自动屏蔽
2010-10-28 17:24
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:0 
当然是错了....
2010-10-28 18:19
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:7 
有什么错啊!运行没错啊@就是不知道在下写的什么

If You Want Something, Go Get It, Period.
2010-10-28 18:37
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:0 
?????题目程序都在这了
不太懂你说什么
2010-10-28 18:53
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:0 
#include<stdio.h>
int main ()
{
    int year,month,day,i,j,sum,n;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d-%d-%d",&year,&month,&day);
        
        if(year+18<=2010)
        {
            if((year%400==0)||(year%4==0&&year%100!=0))
            {
                if(month==2&&day==29)
               
                    printf("-1");
               
            }
            
            for(i=year,j=0;i<=year+18;i++)
            {
                if((i%400==0)||(i%4==0&&i%100!=0)&&month>2)
                    j++;
            }
            sum=365*18+j;
            printf("%d\n",sum);            
            
            
        }
        else
        {
            printf("-1");
        }   
        
        
    }
   
   
    return 0;
}
2010-10-28 18:54
快速回复:我用C语言错在哪
数据加载中...
 
   



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

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