Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int ngay(int thang,int nam){ // Ham nay tra ve so ngay trong thang ke tu thang 1 -> thang 12
- switch(thang){
- case 1:
- case 3:
- case 5:
- case 7:
- case 8:
- case 10:
- case 12:return 31; // Thang 1 3 5 la 31 ngay
- case 4:
- case 6:
- case 9:
- case 11:return 30; // Thang 4 6 la 30 ngay
- case 2: if(nam%400==0 ||(nam%100!=0 && nam%4 == 0)){
- return 29; // Thang 2 la 28 ngay
- }
- return 28;
- }}
- int main(){
- printf("Nhap nam: ");
- int nam;
- scanf("%d",&nam);
- int nhuan = (nam%28)/4;
- if(nhuan!=0) nhuan--;
- int m = (nam%7)+6+nhuan; // danh dau vi tri in so ( ko can thiet lam . Chi la lam dep)
- int move ; // so khoang trang se in ra ( cho dep )
- for(int i=0;i<12;i++){ // 6 thang for 6 lan
- move = m; // cho move gia tri de in khoang trang
- printf("\n\nThang %d\n",(i+1)); // Thang 1 , 2 3 4 5 6
- printf("\nSu\tMo\tTu\tWe\tTh\tFr\tSa\n"); // Chu nhat ... Thu 7
- if(move >=7) move=move-7; // bo di cung duoc :v cho dep thoi .
- // printf("\n%d<<<<\n",(ngay(i+1,nam)));
- for(int k=0;k<move;k++){ // in so khoang trang theo so move
- printf(" \t");
- }
- for(int j=move;j<(ngay(i+1,nam)+move);j++){
- if(j%7==0&&j!=0) {
- printf("\n"); // in het 7 ngay trong tuan thi xuong dong
- m=0; // xuong dong xong thi cho m ve 0
- }
- printf("%2d\t",j+1-move); // in ngay
- m++; // ngay tang len 1 thi move tang len 1 (move luon phai nho hon 7 de danh dau vi tri trong tuan)
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement