Logic để in lịch một tháng như sau -
for(i=1;i<first;i++) printf(" "); for(i=1;i<=noofdays;i++){ printf("%3d",i); if((first+i-1)%7==0) printf("\n"); }
Ví dụ
Ví dụ sau chấp nhận số ngày và ngày đầu tiên trong tháng từ người dùng và in lịch của tháng tương ứng -
#include<stdio.h> int main(){ int i,noofdays; int first; printf("enter no of days in a month:\n"); scanf("%d",&noofdays); printf("enter first day in a month:\n"); scanf("%d",&first); for(i=1;i<first;i++) printf(" "); for(i=1;i<=noofdays;i++){ printf("%3d",i); if((first+i-1)%7==0) printf("\n"); } return 0; }
Đầu ra
enter no of days in a month: 30 enter first day in a month: 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