ตรรกะในการพิมพ์ปฏิทินหนึ่งเดือนมีดังนี้ -
for(i=1;i<first;i++) printf(" "); for(i=1;i<=noofdays;i++){ printf("%3d",i); if((first+i-1)%7==0) printf("\n"); }
ตัวอย่าง
ตัวอย่างต่อไปนี้ยอมรับจำนวนวันและวันแรกของเดือนจากผู้ใช้และพิมพ์ปฏิทินของเดือนตามลำดับ -
#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; }
ผลลัพธ์
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