关闭

1949年的国庆节(10月1日)是星期六.......

标签: C语言编程语言计算机
73人阅读 评论(0) 收藏 举报
分类:

问题:

1949年的国庆节(10月1日)是星期六。

今年(2012)的国庆节是星期一。

那么,从建国到现在,有几次国庆节正好是星期日呢?

只要答案,不限手段!

可以用windows日历,windows计算器,Excel公式,。。。。。

当然,也可以编程!

不要求写出具体是哪些年,只要一个数目!

思路:

先求出是第几天然后根据1950年1月1日是星期天,通过取余得到第i年10月一日是星期几。

代码:

#include <stdio.h>

int day(int y,int m,int d)
{
    int days;  //计算得到的天数
    int i;
    int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
    days=d;
    //下面要加上前m-1月的天数
    for(i=1; i<m; i++)
    {
        days+=a[i];
    }
    if(m>2&&((y%4==0&&y%100!=0)||y%400==0)) //若闰年,且晚于2月,加一天
        days++;
    return days;
}
int main()
{
    int sum=0,judge=0;
    int year;
    int k;
    for(year=1950; year<=2011; year++)
    {
        sum+=day(year,10,1);
        k=(sum-1)%7;//1950年一月一日为星期天,所以得到的天数总和许减去1或加6,再取余,才能判断当天是否为星期天
        if(k==0)
        {
            judge++;
            printf("%d\n",year);
        }
    }
    printf("%d",judge);
    return 0;
}
运行结果:

小结:分清时间顺序。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21500次
    • 积分:1751
    • 等级:
    • 排名:千里之外
    • 原创:158篇
    • 转载:8篇
    • 译文:0篇
    • 评论:3条
    最新评论