C语言入门 -- 打印日历 (2021/1/9)

本文介绍了如何使用C语言编写程序来打印用户指定年份的日历。程序处理了闰年和不同月份天数的计算,从1900年1月1日的星期一开始计算指定月份的星期几。
摘要由CSDN通过智能技术生成

日历

编写程序实现打印某指定年份日历功能

日历。
编写一个程序来生成用户输入的一年的日历。
一年中的月份由整数1-12标识。一周中的几天用整数0-6表示。

#define Sunday 0
#define Monday 1
#define Tuesday 2
#define Wednesday 3
#define Thursday 4
#define Friday 5
#define Saturday 6

main()函数如下所示,无需修改:

int main() {
   
int year;
 
GiveInstructions(); /*prints out instructions to the user*/
year = GetYearFromUser(); /*reads in a year from the user*/
PrintCalendar(year); /* prints a calendar for an entire year*/
 
return 0;
}

如果用户在1900年之前输入一年,GetYearFromUser()函数应让用户再次输入。
以下为可供参考截图:
可参考截图
提示:
(1) 1900年1月1日是星期一。因此,工作日=1;
(2) 您可以使用函数获取指定年份的天数,并使用switch获取月份的天数。在这里,您应该使用一个名为IsLeapYear(int-year)的函数来处理闰年;
(3) 你可以从1900年1月1日开始计算,得到指定月份的星期几
(4) weekday = (weekday + ndays) % 7;

/*
  Name:programme4.c
  Author:祁麟
  Copyright:BJTU | school of software
  Date:2020/10/31
  Description: Generate a calendar for a year entered by the user.
*/

#include <stdio.h>

#define Sunday 0  
#define Monday 1
#define Tuesday 2
#define Wednesday 3
#define Thursday 4
#define Friday 5
#define Saturday 6

//函数声明 
void GiveInstruction(void);        //显示输入提示 
int GetYearFromUser(void);         //读入年份 
void PrintCalendar(int year);      //打印一年的日历 
void printMonth(int month,int year);    //逐月打印日历 
void IndentFirstLine(int weekday); //每月首日前空格输出 
char *MonthName(int month); //每月标题 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RowdyKid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值