编程题#4:Tomorrow never knows?
描述
甲壳虫的《A day in the life》和《Tomorrow never knows》脍炙人口,如果告诉你a day in the life,真的会是tomorrow never knows?相信学了计概之后这个不会是难题,现在就来实现吧。
读入一个格式为yyyy-mm-dd的日期(即年-月-日),输出这个日期下一天的日期。可以假定输入的日期不早于1600-01-01,也不晚于2999-12-30。
输入
输入仅一行,格式为yyyy-mm-dd的日期。
输出
输出也仅一行,格式为yyyy-mm-dd的日期
#include <iostream> #include <iomanip> using namespace std; int isrun(int y) { if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) return 1; else return 0; } int main() { int y, m, d; char ch; int pm[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; int rm[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31}; cin >> y >> ch >> m >> ch >> d; if (m == 12 && d == 31) cout << y+1 << "-01-01" << endl; else if (isrun(y)) { if (d == rm[m]) cout << y << '-' << setfill('0') << setw(2) << m + 1 << "-01" << endl; else cout << y << '-' << setfill('0') << setw(2) << m << '-' << setfill('0') << setw(2) << d + 1 << endl; } else { if (d == pm[m]) cout << y << '-' << setfill('0') << setw(2) << m + 1 << "-01" << endl; else cout << y << '-' << setfill('0') << setw(2) << m << '-' << setfill('0') << setw(2) << d + 1 << endl; } return 0; }
    人一我百,人十我万!自己选择的路,跪着也要走完。
                    
                
                
            
        
浙公网安备 33010602011771号