购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 给出年份,计算该年元旦那天是星期几

1.编程说明

根据历法原理,设 a 年元旦是星期 s (取值为0~6,其中0为星期日),整数 s 的计算公式是:

这里, a 是公元的年数, 表示为 的整数部分,也就是说,三个分数式只取商数的整数部分,余数略去不计。求出小括号内的数值后,再用7除,所得结果就是 s 。如果恰能除尽,这一天一定是星期日;若余数是1,这一天是星期一;余数是2,这一天就是星期二;以此类推。例如,要求算2015年的元旦(1月1日)是星期几。

而2503%7=357余4,这说明2015年的1月1日是星期四。

2.程序清单

    /*****************************************************/
    /* 1.c 给出年份,计算该年元日是星期几?               */
    /*****************************************************/
    #include<stdio.h>
    main()
    {
        int a,s,z;
        printf("请输入年份yyyy:");
        scanf("%d",&a);
        s=a+(a-1)/4-(a-1)/100+(a-1)/400;
        z=s%7;
        if(z==0)printf("元旦这一天为星期天。\n");
        if(z==1)printf("元旦这一天为星期一。\n");
        if(z==2)printf("元旦这一天为星期二。\n");
        if(z==3)printf("元旦这一天为星期三。\n");
        if(z==4)printf("元旦这一天为星期四。\n");
        if(z==5)printf("元旦这一天为星期五。\n");
        if(z==6)printf("元旦这一天为星期六。\n");
    }

3.程序运行

【例1.2】给出年份,计算该年元旦那天是星期几。

解:打开“给出年份,计算该年元旦那天是星期几?”文件夹,双击扩展名为DSW的文件,进入Visual C++ 6.00编译环境,编译程序并执行,根据屏幕提示,输入年份,运行结果如下:

由运行结果可见,当你输入2016年时,程序告诉你2016年的元旦这一天是星期五。 53cMTbnALb35hqATJGKaaW9LaBChWTWSt153WPNuV5VQJ0+qt6vbW8rX7JELpiBu

点击中间区域
呼出菜单
上一章
目录
下一章
×