【#第一文档网# 导语】以下是®第一文档网的小编为您整理的《简单日历小程序》,欢迎阅读!
/* 输入年月日,计算是星期几,并打印当月日历 */ #include int main(){ int y, m, d; //定义变量 年 = y; 月 = m; 日 = d; int month_day = 0; //定义每月天数 int sum_month_day = 0; //定义月份总天数 printf("请输入年月日:"); scanf("%d %d %d", &y, &m, &d); if(m > 31 || m < 1){ printf("输入错误!\n"); return 0; } int i; for(i = 0; i < m; i ++){ if(i == 2){ if(!(y%4) && (y%100) || !(y%400)){ sum_month_day += 29; } else{ sum_month_day += 28; } } if(i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12){ sum_month_day += 31; } if(i == 4 || i == 6 || i == 9 || i == 11){ sum_month_day += 30; } } for(i = 1; i <= m; i ++){ if(i == 2){ if(!(y%4) && (y%100) || !(y%400)){ month_day = 29; } else{ month_day = 28; } } if(i == 4 || i == 6 || i == 9 || i == 11){ month_day = 30; } else if(i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12){ } month_day = 31; } } printf("%d年%d月有%d天!\n", y, m, month_day); printf("%d年%d月距年初有%d天!\n", y, m, sum_month_day + d); int year_day = 0; for(i = 1990; i<= y; i ++){ if(i%4 == 0 && i %100 != 0 || i % 400 == 0){ year_day += 1; } } int sum_year_day = (y - 1990) * 365 + year_day; int first_month_day = sum_year_day + sum_month_day; int first_weekday = first_month_day % 7 + 1; int current_day = first_month_day + d - 1; int current_weekday = current_day % 7 + 1; printf("本周第一天是周%d\n", first_weekday); printf("今天是周%d\n", current_weekday); printf("%4d年%2d月%2d日 星期%d\n", y, m, d, current_weekday); printf("日 一 二 三 四 五 六\n"); for(i = 0; i < first_weekday; i ++){ if(first_weekday == 7){ printf("\r"); break; } printf(" "); } for(i = 1; i <= month_day; i ++){ printf("%2d ", i); if((i + first_weekday)%7 == 0){ printf("\n"); } } if((first_weekday + month_day)%7 != 0){ printf("\n"); } printf("\n"); return 0; 本文来源:https://www.dywdw.cn/b9d01fae58fb770bf68a552d.html