Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm cách nào để in lịch một tháng do người dùng lựa chọn bằng vòng lặp for trong C?

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