Rss & SiteMap

课外天地 李树青 http://www.njcie.com

李树青 论坛 南京 财经 课外天地
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[推荐]第一次作业:计算度过的天数

1楼
admin 发表于:2015/9/29 12:58:02

 1)简单的:利用年数和365相乘

int main()
{
    int age;
    printf("请输入你的年龄:");
    scanf("%d",&age);
    printf("你已经度过了%d天!",age*365);
    return 0;
}

 

2)考虑下月日的差别
int main()
{
    int age;
    printf("请输入你的年龄:");
    scanf("%d",&age);
    printf("你已经度过了%d天!",age*365+9*30+26);
    return 0;
}

 

3)完整版(精确统计天数,考虑大小月和闰年)
int main()
{
    int days1=getDays(2015,9,26);
    int days2=getDays(1976,10,6);
    printf("你已经度过了%d天!",days1-days2);

    return 0;
}

int getDays(int t_year,int t_month, int t_day)
{
    const int b_year=1900;
    const int b_month=1;
    const int b_day=1;
    int days=((t_year-b_year))*365;

    int year_more=(t_year-b_year)/4;
    if(t_month>2)
        days+=year_more;

    int month_more=(t_month-b_month)*30;
    days+=month_more;

    if(t_month==2||t_month==6||t_month==7)
    {
        days+=1;
    }
    if(t_month==3)
    {
        days-=1;
    }
    if(t_month==8)
    {
        days+=2;
    }
    if(t_month==9||t_month==10)
    {
        days+=3;
    }
    if(t_month==11||t_month==12)
    {
        days+=4;
    }
    days+=t_day-1;
    return days;
}

共1 条记录, 每页显示 10 条, 页签: [1]

Copyright ©2002 - 2016 课外天地.Net
Powered By Dvbbs Version 8.3.0
Processed in .01660 s, 2 queries.