广州营销型网站建设培训,中国新闻社是什么编制,燃灯seo,wordpress limit文章目录 1. 求123...n2. 计算是这一年的第几天3. 求两个日期之间的天数4. 算出第n天是几月几号5. 计算一个日期加上若干天后是什么日期 1. 求123…n
求123…n#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句#xff08;A?B:C23...n2. 计算是这一年的第几天3. 求两个日期之间的天数4. 算出第n天是几月几号5. 计算一个日期加上若干天后是什么日期 1. 求123…n
求123…n要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句A?B:C。
数据范围: 0 n 200
class func{
public:static int i;static int sum;func(){sumi;i;}
};int func::i 1;
int func::sum 0;class Solution {
public:int Sum_Solution(int n) {func* p new func[n];return func::sum;}
};2. 计算是这一年的第几天
根据输入的日期计算是这一年的第几天。
保证年份为4位数且日期合法。
#include iostream
using namespace std;class Date{
public:int year;int month;int day;Date(){};// 声明友元friend istream operator(istream in, Date d);// 判断闰年bool isLeapYear(int year) const{return((year % 4 0 year % 100 ! 0) || year % 400 0);}// 获得日期int Getday(int year, int month) const{static const int Getdays[] {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if(month 2 isLeapYear(year))return 29;return Getdays[month - 1];}// 计算是这一年的第几天int my_sum(int year, int month, int day) const{int sum 0;for(int i 1;i month; i){sum Getday(year, i); }sum day;return sum;}
};// 操作符重载
istream operator(istream in, Date d){in d.year d.month d.day;return in;
}int main()
{Date d;while(cin d){cout d.my_sum(d.year, d.month, d.day) endl;}return 0;
}3. 求两个日期之间的天数
有两个日期求两个日期之间的天数如果两个日期是连续的我们规定他们之间的天数为两天
#include bits/stdc.h
using namespace std;
int day[13]{0,31,28,31,30,31,30,31,31,30,31,30,31};
int leap(int year){if((year%40 year%100!0) || year%4000) return 1;return 0;
}int main(){int day1,day2,mon1,mon2,year1,year2;scanf(%4d%2d%2d,year1,mon1,day1);scanf(%4d%2d%2d,year2,mon2,day2);int sum10,sum20;for(int yy0;yyyear1;yy){if(leap(yy)) sum1366;else sum1365;} if(leap(year1)) day[2]29;else day[2]28;for(int mm1;mmmon1;mm){sum1day[mm];}sum1day1;for(int yy0;yyyear2;yy){if(leap(yy)) sum2366;else sum2365;} if(leap(year2)) day[2]29;else day[2]28;for(int mm1;mmmon2;mm){sum2day[mm];}sum2day2;coutabs(sum1-sum2)1endl;return 0;
}
4. 算出第n天是几月几号
给出年分m和一年中的第n天算出第n天是几月几号。
#include iostream
using namespace std;class Date {public:// 判断是否为闰年bool isLeapYear(int year) const {if ((year % 4 0 year % 100 ! 0) || year % 400 0)return true;return false;}// 获取某年某月的天数int GetMonthDay(int year, int month) const {static const int GetMonthDay[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };if (month 2 isLeapYear(year))return 29;return GetMonthDay[month - 1];}// 构造函数Date(int year, int x) {this-year year;if (x 31) {month 1;day x;} else {x - 31;month 2;for (int i 2; x GetMonthDay(year, i); i) {month;x - GetMonthDay(year, i);}day x;} }private:int year;int month;int day;friend ostream operator(ostream out, const Date d);
};// 运算符重载
ostream operator(ostream out, const Date d) {if (d.month 10 d.day 10) out d.year -0 d.month -0 d.day endl;else if (d.month 10) out d.year -0 d.month - d.day endl;else if (d.day 10) out d.year - d.month -0 d.day endl;else out d.year - d.month - d.day endl;return out;
}int main() {int year, x;while (cin year x){Date d(year, x);cout d;}return 0;
}5. 计算一个日期加上若干天后是什么日期
设计一个程序能计算一个日期加上若干天后是什么日期。
#include iostream
using namespace std;class Date {
public:// 判断是否为闰年bool isLeapYear(int year) const {if ((year % 4 0 year % 100 ! 0) || year % 400 0)return true;return false;}// 获取某年某月的天数int GetMonthDay(int year, int month) const {static const int GetMonthDay[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };if (month 2 isLeapYear(year))return 29;return GetMonthDay[month - 1];}// 日期天数递增一天void incrementDate() {day;if (day GetMonthDay(year, month)) {day 1;month;if (month 12) {month 1;year;}}}// 后置运算符重载Date operator(){Date tmp *this;incrementDate();return *this;}Date(int year, int month, int day): year(year), month(month), day(day) {}private:int year;int month;int day;friend ostream operator(ostream out, const Date d);
};// 运算符重载
ostream operator(ostream out, const Date d) {if (d.month 10 d.day 10) out d.year -0 d.month -0 d.day endl;else if (d.month 10) out d.year -0 d.month - d.day endl;else if (d.day 10) out d.year - d.month -0 d.day endl;else out d.year - d.month - d.day endl;return out;
}int main() {int n;int y, m, d, x;cin n;for (int i 0; i n; i) {cin y m d x;Date d1(y, m, d);while(x--){d1;}cout d1;}return 0;
}