任丘网站制作公司,pc网站制作公司,安康网站制作,学会python做网站Problem I: 函数---判断某年某月某日是这一年中的第几天 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 457 Solved: 194Description 在主程序(main)中输入某年某月某日#xff0c;例如2012 9 18(年月日之间用空格隔开)#xff0c; 调用函数dayth来得到某年某月某日是这… Problem I: 函数---判断某年某月某日是这一年中的第几天 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 457 Solved: 194 Description 在主程序(main)中输入某年某月某日例如2012 9 18(年月日之间用空格隔开) 调用函数dayth来得到某年某月某日是这一年中是第几天。 注意 在利用dayth函数前要调用isValid_date函数来判断日期是合法的。 dayth函数和isValid_date函数声明如下 int isValid_date(int year,int month,int day); //判断日期年月日是否合法的函数声明如果日期合法返回1如果不合法返回0 int dayth(int year,int month,int day); //获取日期年月日是本年中的第几天的函数声明 在以下程序的基础上添加isValid_date函数和dayth函数的定义使程序能够正确执行。 提交时只需要提交isValid_date函数和dayth函数的定义代码即可。 #include iostream using namespace std; int isValid_date(int year,int month,int day); //判断日期年月日是否合法的函数声明如果日期合法返回1如果不合法返回0 int dayth(int year,int month,int day); //获取日期年月日是本年中的第几天的函数声明 int main() { int y,m,d; //定义3个变量分别来存放输入的年、月、日 cinymd; if(isValid_date(y,m,d) 0) coutnot validendl; else coutdayth(y,m,d)endl; return 0; } Input 一个日期年 月 日 Output 如果该日期和法则输出该日期是本年中的第几天,如果该日期不合法输出提示信息 例如 输入2002 3 1 输出 60 输入2008 2 30 输出not valid Sample Input 2002 3 1 Sample Output 60 HINT #include iostream
using namespace std; int isValid_date(int year,int month,int day); //判断日期年月日是否合法的函数声明如果日期合法返回1如果不合法返回0 int dayth(int year,int month,int day); //获取日期年月日是本年中的第几天的函数声明 int main()
{ int y,m,d; //定义3个变量分别来存放输入的年、月、日 cinymd; if(isValid_date(y,m,d)0) coutnot validendl; elsecoutdayth(y,m,d)endl; return 0;
}
int isValid_date(int year,int month,int day)
{ if((year%40||year%100!0)(year%4000)) { if(month12||month1) return 0; if((month2(day29||day1))) return 0; if((month1||month3||month5||month7||month8||month10||month12)(day31||day1)) return 0; if((month4||month6||month9||month11)(day30||day1)) return 0; return 1; } else{ if(month12||month1) return 0; if((month2(day28||day1))) return 0; if((month1||month3||month5||month7||month8||month10||month12)(day31||day1)) return 0; if((month4||month6||month9||month11)(day30||day1)) return 0; return 1; }
}
int dayth(int year,int month,int day) { int a[12]{31,28,31,30,31,30,31,31,30,31,30,31},sum0; for(int i0;imonth-1;i) { suma[i]; } if(month1month12) { if((month2)(day1day28)) { sumsumday; if(((year%40year%100!0)||(year%4000))(month2)) return sum1; else return sum; } if((month1||month3||month5||month7||month8||month10||month12)(day31day1)) { sumsumday; if(((year%40year%100!0)||(year%4000))(month2)) return sum1; else return sum; } if((month4||month6||month9||month11)(day30day1)) { sumsumday; if(((year%40year%100!0)||(year%4000))(month2)) return sum1; else return sum; } } }