[GESP2509三级] ⽇历制作

数据推导+字符串操作

#include <bits/stdc++.h>
using namespace std;
int main(){
    int m;
    cin>>m;
    cout<<"MON TUE WED THU FRI SAT SUN\n";
    int i=1,n=31,k=0;
    if(m==2) n=28;
    else if(m==4||m==6||m==9||m==11) n=30;
    switch(m){
        case 1:case 10:k=2;break;
        case 2:case 3:case 11:k=5;break;
        case 4:case 7:k=1;break;
        case 5:k=3;break;
        case 6:k=6;break;
        case 8:k=4;break;
    }
    string s=string(k*4,' ');
    cout<<s;
    for(int i=1;i<=n;i++){
        printf("%3d ",i);
        if((i+k)%7==0) cout<<endl;
    }
    return 0;
}