Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main(void)
- {
- int year,month,yearm1,monthm1,sum,dayofweek,leapyear,leapyeartotal,days,i;
- int zen_matsu[] = {0,3,3,6,1,4,6,2,5,0,3,5};
- int day[] = {31,28,31,30,31,30,31,31,30,31,30,31};
- char week[][7] = {"日","月","火","水","木","金","土"};
- printf("カレンダーを出す年を入れてください。>");
- scanf("%d",&year);
- printf("カレンダーを出す月を入れてください。>");
- scanf("%d",&month);
- yearm1 = year - 1;
- monthm1 = month - 1;
- leapyear = ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) ? 1 : 0;
- leapyeartotal = yearm1 / 400 - yearm1 / 100 + yearm1 / 4;
- sum = yearm1 + zen_matsu[monthm1] +
- + leapyear
- + leapyeartotal + 1;
- dayofweek = sum % 7;
- days = ((month != 2) || !leapyear) ? day[monthm1] : day[monthm1] + 1;
- /*
- printf("%d年%d月はうるう年%s、1日が%s曜日で%d日あります。それでカレンダーを作ってください。\n"
- ,year,month,leapyear ? "で":"ではなく" ,week[dayofweek],days);
- */
- printf(" %d 年 %d 月 \n", year, month);
- for(i=0;i<7;i++) printf(" %s",week[i]);
- printf("\n");
- for(i=0;i<21;i++) printf("-");
- printf("\n");
- for(i=0;i<dayofweek;i++) printf(" ");
- for(i=1;i<=days;i++) {
- printf("%3d",i);
- if((dayofweek + i - 1) % 7 == 6) printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement