ตรรกะในการพิมพ์ปฏิทินหนึ่งเดือนมีดังนี้ -
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