C语言编程 从键盘输入一个年份和月份,输出该月有多少天(考虑闰年)

C语言编程 从键盘输入一个年份和月份,输出该月有多少天(考虑闰年),第1张

用switch选择的:

#include<stdioh>

int main()

{

int y,m;

printf("请依次输入年,月:\n"); 

scanf("%d,%d",&y,&m); //上机时注意打逗号,也可修改为其他格式

switch(m)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:printf("这个月有31天\n");break;

case 2 : if(y%4==0&&y%100!=0||y%400==0) //最基本的判断闰年的条件 

printf("这个月有29天\n");

else printf("这个月有28天\n");break;

case 4:

case 6:

case 9 :

case 11:printf("这个月有30天\n");break;

}

return 0;

}

用指针型列举的:

#include<stdioh>

int a[]={31,28,31,30,31,30,31,31,30,31,30,31},p1,p2,p3,i=1,k=0;

int main()

{

int p1,p2;

printf("请依次输入年·月:\n");

scanf("%d%d",&p1,&p2);

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

a[1]=29;

if(p2>12)

printf("您的输入有误!\n");

printf("这个月的天数为:%d\n",a[p2-1]);

return 0;

}#include <stdioh>

main()

{int a,b;

printf("请输入年份和月份:\n");

scanf("%d%d",&a,&b);

if (a%4==0&&a%100!=0)

if(b==2)

printf("这个月有29天\n");

else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)

printf("这个月有31天\n");

else 

printf("这个月有30天\n");

else if(b==2)

printf("这个月有28天\n");

else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)

printf("这个月有31天\n");

else 

printf("这个月有30天\n");}

普通

#include <stdioh>

main(){

int a,b;

printf("请输入年份和月份:\n");

scanf("%d%d",&a,&b);

if (a%4==0&&a%100!=0)

if(b==2)

printf("这个月有29天\n");

else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)

printf("这个月有31天\n");

else 

printf("这个月有30天\n");

else if(b==2)

printf("这个月有28天\n");

else if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)

printf("这个月有31天\n");

else 

printf("这个月有30天\n");}

扩展资料

switch 语句可以处理多分支选择问题,根据其中break 语句的使用方法,一般分三种情况。

在switch 语句的每个语句段中都使用break 语句,这是switch 语句的主要使用方法,一般形式为:

switch (表达式)

case 常量表达式1: 语句段1; break;

case 常量表达式2: 语句段2; break;

case常量表达式n: 语句段n; break;

case常量表达式n+1:语句段n+ 1; break;

default :

参考资料c语言百度经验

事实上,除了闰年的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;

}

#include <stdioh>

void main()

{

int a=0,b=0;//保存年月

printf("请输入年");

scanf("%d",&a);

printf("请输入月");

scanf("%d",&b);

switch(b)

{

case 1:printf("该月天数为31");

break;

case 2:

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

{

printf("该月天数为29");

}

else

{

printf("该月天数为28");

}

break;

case 3:printf("该月天数为31");

break;

case 4: printf("该月天数为30");

break;

case 5: printf("该月天数为31");

break;

case 6: printf("该月天数为30");

break;

case 7: printf("该月天数为31");

break;

case 8: printf("该月天数为31");

break;

case 9:printf("该月天数为30");

break;

case 10:printf("该月天数为31");

break;

case 11: printf("该月天数为30");

break;

case 12: printf("该月天数为31");

break;

}

}

这个要考虑闰年,所以还要输入年份

 #include <stdioh>int main(void)

{

 int year,mount;

 int buf[13] = {0,31,0,31,30,31,30,31,31,30,31,30,31};

 printf("请输入年份月份用空格隔开\n");

 while(1)

 {

  scanf("%d%d",&year,&mount);

  if(mount<13&&mount>0)

   break;

  else

   printf("月份输入错误请重新输入年份月份用空格隔开\n");

 }

 if(mount!=2)

 {

  printf("本月有%d天\n",buf[mount]);

 }

 else

 {

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

   printf("本月有29天\n");

  else

   printf("本月有28天\n");

 }

 return 0;

}

以上就是关于C语言编程 从键盘输入一个年份和月份,输出该月有多少天(考虑闰年)全部的内容,包括:C语言编程 从键盘输入一个年份和月份,输出该月有多少天(考虑闰年)、C语言 从键盘输入年号和月号,计算这一年的这一月共有几天。、用C语言switch语句计算某年某月,求该月的天数。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存