|  | 
 
 发表于 2016-7-24 21:28:48
|
显示全部楼层 
| 本帖最后由 锅巴灯神 于 2016-7-24 21:32 编辑 
 #include <stdio.h>
 void main()
 {
 int d,m,i,s=0,y,temp=0;//用temp代表本月之前的所有月份的天数总和
 int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
 printf("输入年月日,以空格隔开\n");
 scanf("%d %d %d",&y,&m,&d);
 
 if (y%100!=0)
 {
 if(y%4==0)
 month[1]=29;
 }
 else if (y%400==0)
 {
 month[1]=29;
 }
 
 printf("m=%d\n",month[1]);
 
 for (i=0;i<m-1;i++)//当m=2月时,若是i<m,将会再运行一次,会导致再加上本月的总天数
 {
 if(m!=1)//当月份为1月时,不能再加本月的天数31天
 {
 temp=temp+month[i]; //用temp代表本月之前的所有月份的天数总和
 }
 else
 break;
 }
 
 s=temp+d;//主要解决本月是一月的情况。故不放在for循环语句内。
 printf("%d年%d月%d日是%d年的第%d天 \n",y,m,d,y,s);
 
 }
 | 
 |