博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言习题:打印XX年XX月日历的程序
阅读量:2434 次
发布时间:2019-05-10

本文共 1554 字,大约阅读时间需要 5 分钟。

#define _CRT_SECURE_NO_WARNINGS#include 
int isleap(int year); //判断是否为闰年int month_day(int year, int month); //返回某月的天数int month_first_day_week(int year, int month); //返回某月的第一天是星期几void print_calendar(int year, int month); //打印某年某月日历int main() {
int year, month; scanf("%d %d", &year, &month); print_calendar(year, month); return 0;}int isleap(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) return 1; else return 0;}int month_day(int year, int month) {
switch (month) {
case 2: if (isleap(year)) {
return 29; } else {
return 28; } break; case 4: case 6: case 9: case 11: return 30; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; break; default: break; }}int month_first_day_week(int year, int month) {
int week = 1; for (int i = 1900; i < year; i++) {
++week; // 365 % 7 = 1 if (isleap(i)) {
++week; } } for (int i = 1; i < month; i++) {
week += month_day(year, i); } week %= 7; return week;}void print_calendar(int year, int month) {
int days, day_week; int i = 1; int day = 1; printf("%4d-%02d\n", year, month); printf("Mon Tue Wed Thu Fri Sat sun\n\n"); days = month_day(year, month); day_week = month_first_day_week(year, month); if (day_week == 0) {
day_week = 7; } while (i < day_week) {
printf(" "); i++; } while (day <= days) {
printf("%-6d", day); day++; i = i % 7; if (i == 0) {
printf("\n\n"); } //i = i % 7; i++; } if (i != 0) {
printf("\n"); }}

转载地址:http://qtxmb.baihongyu.com/

你可能感兴趣的文章
分类模型的效果评估
查看>>
深入理解什么是Java双亲委派模型
查看>>
MySQL优化Limit查询语句
查看>>
轻松入门MySQL主从复制原理
查看>>
SpringCloud全家桶---Zuul网关
查看>>
基于zuul和ribbon的灰度发布方案
查看>>
JVM常用垃圾收集器参数说明
查看>>
MySQL索引基础知识梳理
查看>>
MySQL事务ACID底层实现原理
查看>>
关于MySQL wait_timeout问题记录
查看>>
基础算法面试题---如何用栈实现队列
查看>>
基础算法面试题---如何用队列实现栈(1)
查看>>
基础算法面试题---如何用队列实现栈(2)
查看>>
基础算法面试题---如何数组实现栈和队列
查看>>
API接口安全性设计以及各参数的作用
查看>>
《Netty权威指南 第2版》学习笔记(1)---服务端与客户端开发入门
查看>>
《Netty权威指南 第2版》学习笔记(6)--- HTTP协议开发应用
查看>>
链表算法面试题---删除链表中的重复元素II
查看>>
链表算法面试题---合并两个链表
查看>>
链表算法面试题---旋转链表
查看>>