C语言输入年份月份,输出天数。

如题所述

#include <stdio.h>

main()
{
int year,day,d,month,leap;
int i;
int Month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
printf("输入年份:\n");
scanf("%d",&year);
printf("输入月份:\n");
scanf("%d",&month);
if( (year%4!=0) ||( (year%100==0)&& (year%400!=0)))
  Month[2] = 29;



printf("%d年%d月有%d天",year,month,Month[month]);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-18
我写了个
#include <stdio.h>
#define X 7
#define Z 4
int mon1[]={1,3,5,7,8,10,12};
int mon2[]={4,6,9,11};
int ts(int y,int m)
{
int i;
for(i=0;i<X;i++)//判断31天
{
if(mon1[i]==m)
{return 31;exit(0);}
}
if(i==X)
{
for(i=0;i<Z;i++)//判断30天
{
if(mon2[i]==m)
{return 30;exit(0);}
}
if(i==Z)
{
if(y%4==0 && y%100!=0 || y%400==0)
return 29;
else
return 28;
}
}

}
main()
{
int i,y,m;
printf("请输入年份:\n");
scanf("%d",&y);
printf("请输入月份:\n");
scanf("%d",&m);
if(m>0 && m<13)
printf("%d年%d月有%d天\n",y,m,ts(y,m));
else
printf("输入月份有误");
}
第2个回答  2014-05-18
#include <stdio.h>
void main()
{
int year,month;
printf("请输入年份: ");
scanf("%d",&year);
printf("请输入月份:");
scanf("%d",&month);
if(month==2)
{
if(year%4==0) printf("%d年%d月的天数为29天\n",year,month);
else printf("%d年%d月的天数为28天\n",year,month);
}
if(month==4||month==6||month==9||month==11) printf("%d年%d月的天数为30天\n",year,month);
else printf("%d年%d月的天数为31天\n",year,month);
}本回答被网友采纳
第3个回答  推荐于2017-06-24
完整代码如下:
#include <stdio.h>
struct DATA
{
int day, month, year;
}D;
int main()
{
int i;
printf("输入年:");
scanf("%d",&D.year);
printf("输入月:");
scanf("%d",&D.month);
printf("输入日:");
scanf("%d",&D.day);
switch (D.month)
{
case 1:i=0;break;
case 2:i=31;break;
case 3:i=59;break;
case 4:i=90;break;
case 5:i=120;break;
case 6:i=151;break;
case 7:i=181;break;
case 8:i=212;break;
case 9:i=243;break;
case 10:i=273;break;
case 11:i=304;break;
case 12:i=334;break;
}
if ((D.year%400==0||(D.year%4==0&&D.year%100!=0))&&D.month>2) i=i+D.day+1;
else
i=i+D.day;
printf("\n%d年%d月%d日是%年的第%d天\n",D.year,D.month,D.day,i);
return 0;
}本回答被网友采纳
相似回答