|
发表于 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);
} |
|