C语言 根据输入的年份和月份,判断输出是不是闰年和该月的天数,很急,谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 根据输入的年份和月份,判断输出是不是闰年和该月的天数,很急,谢谢!相关的知识,希望对你有一定的参考价值。

很急哦...555...
#include<stdio.h>
void main()
int year,b,month,d;
printf("请输入年份:\n");
scanf("%d\n",&year);
if(year%4==0&&year%100==0||year%400==0)
printf("今年是闰年!\n");
d=29;

else
printf("今年不是闰年!");
d=28;

printf("请输入月份:\n");
scanf("%d\n",&b);
if(b==2)
month=d;
if(b==8)
month=31;
if(b%2==0)
month=30;
else month=31;
printf("本月%d天!\n",month);

哪出问题了呀??

//vc6 pass
#include <stdio.h>

int isLeap(int y)

return (y%4==0&&y%100!=0)||(y%400==0);


int days(int y,int m)

switch(m)

case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;break;
case 4:
case 6:
case 9:
case 11:
return 30;break;
case 2:
if(isLeap(y))

return 29;
break;

else

return 28;
break;

default:return 0;break;



void main()

int year,month;
printf("input year:\n");
scanf("%d",&year);
printf("input month:\n");
scanf("%d",&month);

if(isLeap(year))
printf("是润年\n");
else
printf("不是润年\n");

printf("该月天数是:");
printf("%d\n",days(year,month));
参考技术A int a;
scanf(d%,a);
if(a>0,a%4!=0)
printf("不是闰")
eles
printf("是闰")

判断出是否闰年,月份那个很简单了。用选择语句。
参考技术B 2楼回答的不对

闰年是天文历法上为了补时间上的不刚号
地球绕太阳转是365天5小时48分46秒,所以每4年补一年,同时因为也不是6小时,所以还需要400年去一年。从公元元年开始,那就很简单了。
学过C自己写一下吧
这么懒
参考技术C 书上不是有原题嘛!

挑战C语言

判断年月

将来的你一定会感激现在拼命的自己!



0
1
原题
编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除;规定3~5月为春季,6~8月为夏季,9~11月为秋季,1、2和12月为冬季)。
** 输入格式要求:"%d,%d" 提示信息:"Please enter year,month:"
** 输出格式要求:"%d is leapyear\n" "%d is not leap year\n" "The season isspring/summer/autumn/winter" "The number of days of this month is%d\n"
程序运行示例如下:
实例1:
Please enter year,month:2012,11
2012 is leap year
The season is autumn
The number of days of this month is 30
实例2:
Please enter year,month:2013,12
2013 is not leap year
The season is winter
The number of days of this month is 31


0
2
流程图

挑战C语言(4)


挑战C语言(4)



0
3
代码


先确定好该年是否闰年再写程序

#include<stdio.h>void main(){ int year; printf("Please enter year:"); scanf("%d",&year); if(year%4==0&&year>=0){ if(year%100==0){ if(year%400==0) printf("%d is leap year\n",year); else printf("%d is not leap year\n",year); } else printf("%d is leap year\n",year); } else printf("%d is not leap year\n",year);}
源代码
#include<stdio.h>void main(){ int year,month,leap;//整数数据类型 printf("Please enter year,month:");//输出 scanf("%d,%d",&year,&month);//输入“year,month”前后数字中间加逗号
//leap year,leap=1代表闰年,leap=0代表平年(假设,1真,0假) if(year%4==0&&year>=0)//判断数字是否被4整除以及大于0 { if(year%100==0)//如果数字能被4整除并且大于0,再判断数字是否被100整除 { if(year%400==0)//如果数字能被100整除,再判断是否被400整除 leap=1;//如果数字能被400整除(能被4整除,能被100整除),那数字1将赋值到变量leap else leap=0;//如果数字不能被400整除,能被4整除,能被100整除,那数字0将赋值到变量leap } else leap=1;//如果数字不能被100整除并且能被4整除,那数字1将赋值到变量leap } else leap=0;//如果数字不能被4整除,那数字0将赋值到变量leap
//是否闰年 if(leap==1)//判断 printf("%d is leap year\n",year);//如果leap等于1,那么输出是闰年 else//否则 printf("%d is not leap year\n",year); //如果leap不等于1,那么输出不是闰年
//spring:3,4,5; //summer:6,7,8; //autumn:9,10,11; //winter:12,1,2; switch(month)//判断选择,该月属于哪一季节 { case 1: //month=1时,空的,下一句执行 case 2: printf("The season is winter\n");break; //month=2时输出“The season is spring”,break不可省略 //同理 case 3: case 4: case 5: printf("The season is spring\n");break; case 6: case 7: case 8: printf("The season is summer\n");break; case 9: case 10: case 11: printf("The season is autumn\n");break; case 12:printf("The season is winter\n");break; default:printf("The month is not exist\n");//default,不成立的时候输出“The month is not exist” }

//31days:1,3,5,7,8,10,12; //30days:4,6,9,11; //leap year 29days:2;闰年中2月有29天 //not leap year 28days:2;平年中2月有28天 switch(month)//再判断选择,判断该月的天数 { case 1:printf("The number of days of this month 31\n");break;//一月有31天 case 2:{ //2月比较特殊 if(leap==1)//判断 printf("The number of days of this month 29\n");//该年是闰年,输出2月有29天 else printf("The number of days of this month 28\n");//该年是平年,输出是2月有28天 };break; case 3:printf("The number of days of this month 31\n");break; case 4:printf("The number of days of this month 30\n");break; case 5:printf("The number of days of this month 31\n");break; case 6:printf("The number of days of this month 30\n");break; case 7:printf("The number of days of this month 31\n");break; case 8:printf("The number of days of this month 31\n");break; case 9:printf("The number of days of this month 30\n");break; case 10:printf("The number of days of this month 31\n");break; case 11:printf("The number of days of this month 30\n");break; case 12:printf("The number of days of this month 31\n");break; default:printf("The month is not exist\n");//不符合以上条件的时候就输出该季节不存在 }}



0
4
运行结果(截图)

挑战C语言(4)

挑战C语言(4)

挑战C语言(4)



0
5
实验总结与体会
这题编写程序花费时间很长,虽然有难度但是这个思路没有这么复杂。判断该年是否闰年,首先要用if来判断,然后该月判断属于哪一季节,指定case若有空句就会执行下一句一直到break就停止。
个人认为制作流程图真的比编写程序还要花巨大的精力。


0
6
往期
1, (点击)
2, (点击)
3,体型判断(点击)
没有更多了……



0
7
关注我
挑战C语言(4)
扫码关注我们
扫码关注我们





以上是关于C语言 根据输入的年份和月份,判断输出是不是闰年和该月的天数,很急,谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

c++判断某年某月有多少天

挑战C语言

c语言:从键盘上输入一个日期,判断输入的日期是不是正确

输入年份输出属相c语言,编写程序,输入一个年份,判断该年属相.(提示s

C语言 断是不是是闰年。输入一个整数,代表年份,输出该年份是平年还是闰年。

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