早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C++年月份问题//5、新建C++源程序,编写程序实现://输入某一年的年份和月份,计算该月的天数并输出.一年中的大月(1月、3月、5月、7月、8月、10月、12月),每月的天数为31天;//一年中的小月

题目详情
C++年月份问题
// 5、 新建C++源程序,编写程序实现:
// 输入某一年的年份和月份,计算该月的天数并输出.一年中的大月(1月、3月、5月、7月、8月、10月、12月),每月的天数为31天;
// 一年中的小月(4月、6月、9月、11月),每月的天数为30天;
// 对于2月,则要判断该年是平年还是闰年,平年的2月为28天,闰年的2月为29天.
// 某年符合这两个条件之一就是闰年:①年份能被400整除;②年份能被4整除,但不能被100整除.
//要求:
//(1)定义bool IsLeap(int year),判断是否是闰年;
//(2)定义int Days(int year,int month),在这个函数里,返回某年某月的天数,调用IsLeap(),计算2月份的天数;
//(3)定义主函数,键盘输入年和月,调用Days()函数,输出结果.
#include
bool IsLeap(int year);
void Days(int year,int month);
void main()
{
int x,y;
couty;
Days(x,y);
}
bool IsLeap(int year)
{
bool flg=false;
int Y;
if(Y%4==0&&Y%10!=0||Y%400==0)
flg=true;
return flg;
}
void Days(int year,int month)
{
int A[12]={31,29,31,30,31,30,31,31,30,31,30,31};//闰年
int B[12]={31,28,31,30,31,30,31,31,30,31,30,31};//平年
IsLeap(year);
if(year==true)
cout
▼优质解答
答案和解析
一、将IsLeapYear函数修改成如下:
bool IsLeap(int year)
{
bool flg=false;
int Y;
if(Y%4==0&&Y%100!=0||Y%400==0) //修改过的地方(除100不是10)
flg=true;
return flg;
}
二、将Days函数改成如下:
void Days(int year,int month)
{
int A[12]={31,29,31,30,31,30,31,31,30,31,30,31};//闰年
int B[12]={31,28,31,30,31,30,31,31,30,31,30,31};//平年
if(IsLeap(year)==true) //修改过的地方
cout