78057812 78057812
关注数: 146 粉丝数: 52 发帖数: 135 关注贴吧数: 18
谁能用C写-输入日期则自动输出是07年的第几周! 我冥思苦想了一下午,只写了2006年的,066年的第一天正好是1号,没有什么难度,但07年第一天是星期一,也就是说07年的第一周只6天,不知道用什么办法了!/* Note:Your choice is C IDE */#include "stdio.h"main(){ int y=2006,m,d,d2,u; /*定义年月日,和变量日期*/start:;{ start2:; printf("请输入月:"); scanf("%d",&m); if (m>0&&m<13) /*琐定一年12个月*/{ switch (m){ case 1:case 3:case 5:case 7:case 8:case 10:case 12: d=31;break;case 4:case 6:case 9:case 11: d=30;break;case 2:if((y%4!=0)||(y%100==0)&&(y%400!=0))d=28;else d=29;break;default :printf("错误,请重新输入\n");} printf("%d年的%d月有%d天\n",y,m,d); /*自动识别2006年某月的天数*/ goto start3; } else printf("您输入月有误,"); goto start2;}start3:; printf("请输入生产日期:"); scanf("%d",&d2);if (0>d2||d 0);break; case 2: u=(d2+31)/7+(((d2+31)%7)>0);break; case 3: u=(d2+31+28)/7+(((d2+31+28)%7)>0);break; case 4: u=(d2+31+28+31)/7+(((d2+31+28+31)%7)>0);break; case 5: u=(d2+31+28+31+30)/7+(((d2+31+28+31+30)%7)>0);break; case 6: u=(d2+31+28+31+30+31)/7+(((d2+31+28+31+30+31)%7)>0);break; case 7: u=(d2+31+28+31+30+31+30)/7+(((d2+31+28+31+30+31+30)%7)>0);break; case 8: u=(d2+31+28+31+30+31+30+31)/7+(((d2+31+28+31+30+31+30+31)%7)>0);break; case 9: u=(d2+31+28+31+30+31+30+31+31)/7+(((d2+31+28+31+30+31+30+31+31)%7)>0);break; case 10: u=(d2+31+28+31+30+31+30+31+31+30)/7+(((d2+31+28+31+30+31+30+31+31+30)%7)>0);break; case 11: u=(d2+31+28+31+30+31+30+31+31+30+31)/7+(((d2+31+28+31+30+31+30+31+31+30+31)%7)>0);break; case 12: u=(d2+31+28+31+30+31+30+31+31+30+31+30)/7+(((d2+31+28+31+30+31+30+31+31+30+31+30)%7)>0);break;}printf("%d年%d月%d日是%d年的第%d周\n",y,m,d2,y,u);goto start;}
1 下一页