
C语言 从键盘输入年号和月号,计算这一年的这一月共有几天。
展开全部
事实上,除了闰年的2月外,其它各个月的天数都是固定的。
所以,除了对2月特殊判断一下是否为闰年外,其它均可直接输出。
方便起见,将每月天数存在数组中,以减少代码量,并提高效率。
#include <stdio.h>
int main()
{
int m,y;
int days[12] = {31, 28, 31,30,31,30,31,31,30,31,30,31};
scanf("%d%d",&y,&m);
if(m == 2)
{
if(y%400==0 || (y%4==0 && y%100!=0))//闰年。
printf("29\n");
else printf("28\n");
}
else
printf("%d\n", days[m-1]);
return 0;
}
展开全部
#include"stdio.h"
void main()
{
int b,s=0,a;
scanf("%d,%d",&a,&b);
switch(b)
{
case 1:s=31;break;
case 2:s=28;break;
case 3:s=31;break;
case 4:s=30;break;
case 5:s=31;break;
case 6:s=30;break;
case 7:s=31;break;
case 8:s=21;break;
case 9:s=30;break;
case 10:s=31;break;
case 11:s=30;break;
case 12:s=31;break;
}
if(a%4==0&&a%100!=0||a%400==0)
s=29;
else
s=28;
printf("这个月有%d天",s);/*如果是的是TC 不可以用中文*/
}
void main()
{
int b,s=0,a;
scanf("%d,%d",&a,&b);
switch(b)
{
case 1:s=31;break;
case 2:s=28;break;
case 3:s=31;break;
case 4:s=30;break;
case 5:s=31;break;
case 6:s=30;break;
case 7:s=31;break;
case 8:s=21;break;
case 9:s=30;break;
case 10:s=31;break;
case 11:s=30;break;
case 12:s=31;break;
}
if(a%4==0&&a%100!=0||a%400==0)
s=29;
else
s=28;
printf("这个月有%d天",s);/*如果是的是TC 不可以用中文*/
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用数组按顺序记录每个月的的天数,
char month[13]={0,31,28,31,……};
int y,m;
scanf("%d",&y);
scanf("%d",&m);
if(( y%4==0 && y%100!=0) || y%400==0) && m==2)
printf("%d",month[m]+1);
else printf("%d",month[m]);
char month[13]={0,31,28,31,……};
int y,m;
scanf("%d",&y);
scanf("%d",&m);
if(( y%4==0 && y%100!=0) || y%400==0) && m==2)
printf("%d",month[m]+1);
else printf("%d",month[m]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询