打印一年内任意月份的日历(C语言)

题目要求:2007年1月1日为星期一,编写一个函数,输出2007年任意月份的日历
这道题我是个人的做法,有个别地方可能有些绕。

#include<stdio.h>
int main()
{
	int month,WEEKDAY,count,month_days,width;
	int isWhatDay(int month);     //声明计算的函数
	printf("Please enter a month:\n");
	scanf("%d",&month);
	WEEKDAY = isWhatDay(month);         //将函数返回值赋给WEEKDAY
	printf("Calendar 2007 - %d\n",month);
	printf("----------------------------\n");
	printf("  Su  Mo  Tu  We  Th  Fr  Sa\n");    //空白处是两个空格
	 //下面是赋各个月份的天数
	if(month == 1||month == 3||month == 5||month == 7||month ==8||month == 10||month == 12)
		month_days = 31;
	else if(month == 2)
		month_days = 28;
	else
		month_days = 30;
	width = 4 * WEEKDAY;  
	/*此处计算width可能一开始看不懂,实际上是为了打印空格,
	空格不printf到第一天的前一位是因为下面输出是%4d,其前三位是空格了。*/
	for(count = 1;count <= width;count++)
		printf(" &
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值