首页 > 代码库 > 1900年为星期一,任意一天求星期几。
1900年为星期一,任意一天求星期几。
#include<stdio.h> int main() { int year,month,day,sum1,sum2,sum3,sum,i,year1; printf("请输入今天的日期,格式1900-1-1。\n"); scanf("%d-%d-%d",&year,&month,&day); year1=year; /*变量重复性使用,考虑是否为初始值,尽量不要让一个变量在连续的操作下使用。*/ if(year<1900) { sum1=0; for(year=year+1;year<1900;year++) { if(year%4==0&&year%100!=0||year%400==0) { sum1=sum1+366; } else { sum1=sum1+365; } } sum2=0; for(i=1;i<month;i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) { sum2=sum2+31; } else if(i==4||i==6||i==5||i==9||i==11) { sum2=sum2+30; } else if(i==2) { if(year1%4==0&&year1%100!=0||year1%400==0) { sum2=sum2+29; } else { sum2=sum2+28; } } } sum2=sum2+day; if(year1%4==0&&year1%100!=0||year1%400==0) { sum3=366-sum2+1; } else { sum3=365-sum2+1; } sum=sum1+sum3; switch(sum%7) { case 0:printf("您输入的日期为星期一。\n");break; case 1:printf("您输入的日期为星期日。\n");break; case 2:printf("您输入的日期为星期六。\n");break; case 3:printf("您输入的日期为星期五。\n");break; case 4:printf("您输入的日期为星期四。\n");break; case 5:printf("您输入的日期为星期三。\n");break; case 6:printf("您输入的日期为星期二。\n");break; } printf("%d",sum); } else if(year==1900) { for(i=1;i<month;i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) { sum=sum+31; } else if(i==4||i==6||i==5||i==9||i==11) { sum=sum+30; } else if(i==2) { sum=sum+28; } } sum=sum+day; switch(sum%7) { case 0:printf("您输入的日期为星期日。\n");break; case 1:printf("您输入的日期为星期一。\n");break; case 2:printf("您输入的日期为星期二。\n");break; case 3:printf("您输入的日期为星期三。\n");break; case 4:printf("您输入的日期为星期四。\n");break; case 5:printf("您输入的日期为星期五。\n");break; case 6:printf("您输入的日期为星期六。\n");break; } printf("%d",sum); } else { sum=0; sum1=0; for(year=year-1;year>=1900;year--) { if(year%4==0&&year%100!=0||year%400==0) { sum1=sum1+366; } else { sum1=sum1+365; } } sum2=0; for(i=1;i<month;i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) { sum2=sum2+31; } else if(i==4||i==6||i==5||i==9||i==11) { sum2=sum2+30; } else if(i==2) { if(year1%4==0&&year1%100!=0||year1%400==0) { sum2=sum2+29; } else { sum2=sum2+28; } } } sum2=sum2+day; sum=sum1+sum2; switch(sum%7) { case 0:printf("您输入的日期为星期日。\n");break; case 1:printf("您输入的日期为星期一。\n");break; case 2:printf("您输入的日期为星期二。\n");break; case 3:printf("您输入的日期为星期三。\n");break; case 4:printf("您输入的日期为星期四。\n");break; case 5:printf("您输入的日期为星期五。\n");break; case 6:printf("您输入的日期为星期六。\n");break; } printf("%d",sum); } return 0; }
实验总结:
变量重复性使用,考虑是否为初始值,尽量不要让一个变量在连续的操作下使用。
1900年为星期一,任意一天求星期几。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。