c语言 编写 简单万年历

本文介绍了初学者如何使用C语言编写一个简单的万年历。作者最初对这个任务感到困惑,通过12个并列的for循环完成了作业。现在重新回顾,作者完善了这个项目,实现了万年历的功能,并分享了运行结果。
摘要由CSDN通过智能技术生成

 初学C语言,许多人 往往不能灵活的运用自己所学的知识 。就拿今天这个万年历来说,当时我们C语言老师布置这个作业时,我简直一脸蒙蔽。回头交作业时 ,就洋洋洒洒写了12个并列的for循环糊弄一下自己,不知道老师看了之后会不会回想起当年语文老师口头常讲的排比句。幸好现在抓住大学的小尾巴,完成了这份作 业。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//计算一年有多少天 
int daysInYear(int year)
{
	//判断平/闰年 
	if(year%4==0&&year%100==0||year%400==0)
		return 366;//闰年366 
	else
		return 365;//平年365 
}

//计算一个月有多少天 
int daysInMonth(int year,int month)
{
	switch(month)
	{
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12: return 31;
		
		case 4:
		case 6:
		case 9:
		case 11: return 30;
		
		case 2:  if(year%4==0&&year%100==0||year%400==0)
					return 29;
				else
					return 28; 
					
		default: return 0;
	}
 } 
int main()
{
	int begin;
	int year;
	printf("请输入想要显示的年份日历:"); 
	scanf("%d",&year);
	
	//计算 公元[1年,year) 之间共有多少天 
	int sum&
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 可以使用 C 语言编写万年历程序。首先,需要了解关于日期和时间的相关知识,如公历和农历的转换、闰年的判断等。其次,可以使用 C 标准库中的时间函数,如 time() 和 localtime() 等来获取当前时间。最后,根据获取的时间信息计算并输出日期和事件等信息。 ### 回答2: 编写一个 C 语言程序来制作一个万年历是很有趣的任务。为了实现这个目标,我们可以使用一些基本的知识和技巧。 首先,我们需要了解万年历的基本规则和结构。万年历通常以一个年份为单位展示一整年的日历,其中包括每个月的日期和星期几。 接下来,我们可以开始编写程序。我们可以使用循环来生成连续的年份,并使用嵌套的循环来生成每个月的日期。 在程序中,我们可以使用一个二维数组来存储整个日历。数组中的每个元素对应一个日期,我们可以将日期和星期几作为数组元素的值。 我们可以使用 C 语言的日期和时间函数来获取当前的年份,并以此作为起点生成万年历。然后,我们可以按照日历的规则,逐个填充数组元素。 为了最大程度地利用 C 语言的功能,我们可以考虑使用结构体来存储日历的信息。结构体可以包含年份、月份和日期等属性。 当程序完成后,我们可以通过输出数组的元素来显示日历。我们可以使用 C 语言的 printf() 函数来格式化和输出日历的内容。 最后,我们还可以添加一些其他的功能,比如用户输入指定年份,并让程序输出该年份的日历。 编写万年历的 C 语言程序是一项有趣的挑战。通过掌握 C 语言的基础知识、循环、数组和函数等概念,我们可以创建一个简单而实用的日历程序。不仅可以帮助人们了解日期和星期,还可以展示 C 语言的强大功能。 ### 回答3: 编写万年历C语言程序主要涉及以下几个方面的实现: 1. 获取用户输入的年份: 通过使用scanf函数从用户输入中获取年份值。可以使用一个变量来保存用户输入的年份值。 2. 判断输入的年份是否为闰年: 根据闰年的定义,编写判断闰年的函数。在函数中判断年份是否能被4整除并且不能被100整除,或者能被400整除。 3. 计算输入年份的1月1日是星期几: 采用基姆拉尔森计算公式来计算:W= (year+(year/4)+(year/400)-(year/100)+1)%7。 其中W是对星期的数字化表示,0表示星期日,1表示星期一,以此类推。 4. 确定输入年份的每个月份的天数: 根据平年和闰年的规则,确定每个月份的天数。通常,1月、3月、5月、7月、8月、10月和12月有31天,4月、6月、9月和11月有30天,而2月平年有28天,闰年有29天。 5. 打印万年历: 利用循环语句和条件判断来输出每个月份的天数和星期几,以创建一个完整的万年历。根据星期的数字化表示,可以使用switch语句来打印出相应的星期几。 以上是一个基本的万年历C语言程序的实现过程。当然,还可以根据需要增加一些其他功能,如输入月份以输出某个具体月份的日历等。具体的实现方式可以根据个人需要进行调整和完善。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值