能够写出函数判断某年是否闰年,但是调用函数判断输出天数就不知道该怎么写了,求大佬指点
#include<iostream>
using namespace std;
int main()
{
int year,month;
cin>>year>>month;
if(month==2)
{
if((year%4==0 && year%100!=0) || year%400==0)
cout<<"29";
else
cout<<"28";
}
else
{
switch(month)
{
case 1:cout<<"31";break;
case 3:cout<<"31";break;
case 4:cout<<"30";break;
case 5:cout<<"31";break;
case 6:cout<<"30";break;
case 7:cout<<"31";break;
case 8:cout<<"31";break;
case 9:cout<<"30";break;
case 10:cout<<"31";break;
case 11:cout<<"30";break;
case 12:cout<<"31";break;
}
}
return 0;
}
代码如下,如有帮助,请采纳一下,谢谢。
//判断是否是闰年
bool isRunnian(int year)
{
if((year%4==0 && year%100!=0) || year%400==0)
return true;
else
return false;
}
//获取天数
int days(int year,int month)
{
if (month == 1 || month == 3 || month == 5|| month == 7|| month == 8 || month == 10 || month == 12)
{
return 31;
}else if (month == 4 || month == 6 || month == 9 || month == 11)
{
return 30;
}else if (month == 2)
{
if(isRunnian(year))
return 29;
else
return 28;
}else
return -1;
}
int main()
{
printf("请输入年和月份:");
int year,month;
scanf("%d %d",&year,&month);
int d = days(year,month);
printf("days=%d\n",d);
getchar();
getchar();
return 0;
}
#include<iostream>
using namespace std;
bool is_leap_year(int year){
if((year%4==0)&&(year%100!=0)||(year%400==0))
return true;
else
return false;
}
int day_of_month(int year,int month){
int day=0;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
case 2:
day=28+is_leap_year(year);
break;
}
return day;
}
int main(){
cout<<"请输入年份:"<<endl;
int year;
cin>>year;
cout<<" 请输入月份:"<<endl;
int month;
cin>>month;
int a=day_of_month(year,month);
cout<<year<<"年"<<month<<"月"<<"有"<<a<<"天"<<endl;
}
如果有帮助请采纳一下,谢谢!以后有什么问题可以互相交流。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
供参考:
#include<stdio.h>
int isLeap(int y)
{
if((y%4==0 && y%100!=0)||(y%400==0))
return 1;
else
return 0;
}
int GetDaysOfMonth(int y, int m)
{
int daysOfMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
if(isLeap(y) && m == 2) return daysOfMonth[m-1]+1;
return daysOfMonth[m-1];
}
int main()
{
int year,month;
printf("请输入年份-月份:(yyyy-mm)");
scanf("%d-%d",&year,&month);
printf("%d年%d月有%d天\n",year,month,GetDaysOfMonth(year,month));
return 0;
}