| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 353 人关注过本帖
标题:求助,函数调用问题
只看楼主 加入收藏
为了学好C
Rank: 1
等 级:新手上路
帖 子:52
专家分:8
注 册:2010-4-3
结帖率:95%
收藏
 问题点数:0 回复次数:1 
求助,函数调用问题
//计算从出生到你18岁生日一共有几天
程序代码:
#include"iostream"
using namespace std;
int judge_leap(int a)
{
    if(a%4==0&&a%100!=0||a%400==0)
        return 1;
    return 0;
}
int main()
{
    int year,month,day,T;
    while(cin>>T&&T--)
    {
        scanf("%d-%d-%d",&year,&month,&day);  
        if(day==29&&month==2)//在闰年2月29日生,则没有18岁生日
        { cout<<"-1"<<endl;
           continue;
        }
        int da=0;
        for(int j=1;j<=18;j++)
            da+=365+judge_leap(year+j);   //据相关人士透露,这里要把它猜成if的语句???
        if(judge_leap(year))if(month<=2) da++;//出生的时候是闰年,且在一二月出生,则会少算一天
        if(judge_leap(year+18))if(month<=2) da--;//18岁的生日是闰年,且在一二月出生,则会多算一天
        cout<<da<<endl;
    }
    return 0;

}
搜索更多相关主题的帖子: 函数 
2010-07-17 16:46
flyingcat
Rank: 4
来 自:HDU
等 级:业余侠客
威 望:2
帖 子:55
专家分:230
注 册:2010-7-18
收藏
得分:0 
//好吧,题目应该是跟HDOJ上的第1201题一样
//http://acm.hdu.
//那个你说的拆成if估计是我当时提交时的这种方式:
#include<stdio.h>

int IsLeapYear(int a)
{
    if(a%400==0||a%4==0&&a%100!=0) return 1;
    return 0;
}

void main()
{
    int year,month,day,result,i;
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d-%d-%d",&year,&month,&day);  
        if(month==2&&day==29)//2月29日,不合法的输入
        {
            printf("-1\n");
            continue;
        }
        result=0;
        for(i=1;i<=18;i++)//计算从开始到18岁过的天数
            if(IsLeapYear(year+i))//闰年366天,平年365天
                result+=366;
            else
                result+=365;
        if(IsLeapYear(year))//出生的时候是闰年,且在一二月出生,则会少算一天
            if(month<=2)
                result++;
        if(IsLeapYear(year+18))//18岁的生日是闰年,且在一二月出生,则会多算一天
            if(month<=2)
                result--;
        printf("%d\n",result);
    }
}
2010-07-18 01:00
快速回复:求助,函数调用问题
数据加载中...
 
   



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

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