输入年,月,计算该月的天数 C语言程序

输入年,月,计算该月的天数 C语言程序,第1张

#include"stdioh"

#include"stdlibh"

int main()

{ int y,m,days;//存放年、月、天数的变量

printf("请输入年、月(逗号隔开):\n");//输入提示

scanf("%d,%d",&y,&m);//输入边长(输入时用逗号隔开)

printf("%d %d\n",y,m);

switch(m)

 { case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31;break;

 case 4: case 6: case 9: case 11: days=30;break; 

 case 2: {if(y%4==0&&y%100!=0||y%400==0)days=29;//闰年

            else days=28;

          break;

 }

 default:days=0; //输入月份不对

 }

 printf("%d年%d月有%d天\n",y,m,days);

 system("pause"); 

}

事实上,除了闰年的2月外,其它各个月的天数都是固定的。

所以,除了对2月特殊判断一下是否为闰年外,其它均可直接输出。

方便起见,将每月天数存在数组中,以减少代码量,并提高效率。

#include <stdioh>

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;

}

//我自己写的,不是很好,见笑了。

int

isleapyear(int

year)

{

if((year%4==0&&year%100!=0)||(year%400==0))

return

1;

else

return

0;

}

main()

{

int

m,y;

printf("请输入正确的年月,例如:2008-8。\n");

scanf("%d-%d",&y,&m);

if

((m>12)||(m==0))

printf("请输入正确的月份。\n");

switch(m){

case

2:printf("%d年%d月是小月,%d天。",y,m,(28+isleapyear(y)));break;

case

4:

case

6:

case

9:

case

11:printf("%d年%d月是小月,30天。",y,m);break;

default:printf("%d年%d月是大月,31天。",y,m);break;

}

}

用 if 判断是否闰年。月份的天数存于数组,用月做下标。

#include <stdioh>

int main(){

int MonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

int y,m;

printf("input year month:2018 2\n");

scanf("%d %d",&y,&m);

if (((y%4==0)&&(y%100!=0)||(y%400==0)))MonthDay[2]=29; //闰年

if (m<0 || m >12)m=0; //错误的月

printf("%d\n",MonthDay[m]); //输出结果

return 0;

}

以上就是关于输入年,月,计算该月的天数 C语言程序全部的内容,包括:输入年,月,计算该月的天数 C语言程序、C语言 从键盘输入年号和月号,计算这一年的这一月共有几天。、C语言程序求任意年月该月的天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9322692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存