本文主要是介绍计算星期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目内容:
给出任意一个年月日(年>1900),现在我们不能只是直接计算,要先判断给出的日期是否合法,对于非法的日期要给出错误提示信息,合法的日期要再计算是星期几。
输入格式:
年 月 日
输出格式:
0~6。
星期日用 0 表示,星期一用 1 表示,星期二用 2 表示......星期六用 6 表示。
假设年份大于1900。先想一想:我们现在只会使用 if 语句,该如何建立数学模型?
输入样例:
2013 3 11
输出样例:
1
输入样例:
2013 13 15
输出样例:
month is error.
输入样例:
2013 3 32
输出样例:
day is error.
蔡勒(Zeller)公式,即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
#include<stdio.h>int main() {int year,month,day;scanf("%d %d %d",&year,&month,&day);if(12<month||month<1){printf("month is error.\n");exit(0);}if(31<day || day<1){printf("day is error.\n");exit(0);}int y,c,d;y=year%100;c=year/100;d=y+y/4+c/4-2*c+26*(month+1)/10+day-1;int w=d%7;switch(w){case 0:printf("0");break;case 1:printf("1");break;case 2:printf("2");break;case 3:printf("3");break;case 4:printf("4");break;case 5:printf("5");break;case 6:printf("6");break;}return 0; }
这篇关于计算星期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!