本题描述:输入本年年份以及本年一月一日是星期几,输出整年日历。
#include<iostream> #include<string> void tableForm(int n); int judgeDate(int n); using namespace std; void MakeTable(int data,int month,int days); int isLeapYear(int year); int judgeDatee(int dataa,int month,int IsLeapyear); string table[] ={"喵",""," "," "," "," "," "," "}; int Leap[13][3]={{0,0,0},{0,31,31},{0,29,28},{0,31,31},{0,30,30},{0,31,31},{0,30,30},{0,31,31},{0,31,31},{0,30,30},{0,31,31},{0,30,30},{0,31,31}}; int main() { int year,data,datee; cout<<"请输入一个四位数年份:"<<endl; cin>>year; cout<<"请输入该年元旦为星期几"<<endl; cin>>data; cout<<"***********"<<year<<"***********"<<endl; for(int i = 1;i<=12;i++) { if(i==1) { MakeTable(data,i,Leap[i][isLeapYear(year)]); datee = judgeDatee(data,i,isLeapYear(year)); } else { MakeTable(datee,i,Leap[i][isLeapYear(year)]); datee=judgeDatee(datee,i,isLeapYear(year)); } } return 0; } void tableForm(int m) { cout<<endl<<"-----------"<<m<<" 月 ----------"<<endl; cout<<"七 一 二 三 四 五 六"<<endl<<endl; } int judgeDate(int n) { if(n==7) return 1; else if(n==1) return 2; else if(n==2) return 3; else if(n==3) return 4; else if(n==4) return 5; else if(n==5) return 6; else if(n==6) return 7; else cout<<"Wrong Answer\n"; } void MakeTable(int data,int month,int days) { tableForm(month); cout<<table[judgeDate(data)]; int temp; if(data==7){ temp=8; data=0; } else temp=8-data; for(int i=1;i<=days;i++) { if(i<=7) { if(i==7-data) cout<<" "<<i<<endl <<endl; else cout<<" "<<i<<" "; } else { if((i-temp)==6) { if(i==8||i==9) { temp+=7; cout<<" "<<i<<endl <<endl; } else{ temp+=7; cout<<""<<i<<endl <<endl; } } else { if(i==8||i==9) { cout<<" "<<i<<" "; } else cout<<i<<" "; } } } } int isLeapYear(int year) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) return 1; else return 2; } int judgeDatee(int dataa,int month,int IsLeapyear) { int tem = dataa+Leap[month][IsLeapyear]%7; if(tem>7) return tem-7; else if(tem == 0) return 7; else return tem; }
我历时两天断断续续写了出来这个程序,源于课本的课后题作业,有需要的同学可以参考一下。 另外我写的这个没有注释,有不懂的地方可以QQ问我。
效果:
请输入一个四位数年份: 2017 请输入该年元旦为星期几 7 ***********2017*********** -----------1 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -----------2 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 -----------3 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -----------4 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 -----------5 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -----------6 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 -----------7 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -----------8 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -----------9 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 -----------10 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -----------11 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 -----------12 月 ---------- 七 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
不错。寒假要学算法==。有个蓝桥杯。
现在学C++的不多了额,大多数学PHP