C语言输入年和月,输出该年该月有几天 在线等!~~

如题所述

你用一个枚举变量存每一个月的天数,然后判断闰年与否,是的话就二月29天,根据输入输出枚举中的值就行,这个太简单了~~~追问

能不能给出答案啊?谢谢~~~~~

追答

dwjchdu说的很清楚了,不过int mon_p[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int mon_r[12]={31,29,31,30,31,30,31,31,30,31,30,31};有点罗嗦了,如果你是要学C的话,这样的应该自己去尝试编~~~
#include "stdio.h"
mian()
{
int mon_p[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int year,month;
scanf("%d %d",&year,&month);
if((year%4==0&&year%100!=0)||year%400==0)
mon_p[1]=29;
printf("%d年%d月有%d天!",year,month,mon_p[month-1]);
else
//mon_p[1]=28; //如果你是循环多次运行的话,这里最好加这个
printf("%d年%d月有%d天!",year,month,mon_p[month-1]);
getch();
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-31
#include<stdio.h>

void main()
{
int year,month;
scanf("%d%d",&year,&month);
switch(month)
{
case 1:printf("%d月有31天\n",month);break;
case 2:if((year%4==0&&year%100!=0)||year%400==0)
printf("%d月有29天\n",month);
else printf("%d月有28天\n",month);break;
case 3:printf("%d月有31天\n",month);break;
case 4:printf("%d月有30天\n",month);break;
case 5:printf("%d月有31天\n",month);break;
case 6:printf("%d月有30天\n",month);break;
case 7:printf("%d月有31天\n",month);break;
case 8:printf("%d月有31天\n",month);break;
case 9:printf("%d月有30天\n",month);break;
case 10:printf("%d月有31天\n",month);break;
case 11:printf("%d月有30天\n",month);break;
case 12:printf("%d月有31天\n",month);break;
default:printf("输入错误\n");
}
}
第2个回答  2011-10-31
#include "stdio.h"
mian()
{
int mon_p[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int mon_r[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int year,month;
scanf("%d %d",&year,&month);
if((year%4==0&&year%100!=0)||year%400==0)
printf("%d年%d月有%d天!",year,month,mon_r[month-1]);
else
printf("%d年%d月有%d天!",year,month,mon_p[month-1]);
getch();

}
相似回答