`
Jw.mac
  • 浏览: 10453 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

c语言万年历 日历

    博客分类:
  • c
阅读更多
/*
 * cal.c
 *
 *  Created on: 2013-3-11
 *      Author: J.WANG
 */
#include <stdlib.h>
#include <stdio.h>
//三维数组存放日期,每年12月,日历中最多排6行(星期),每星期7天
int days[12][6][7];
//平年,闰年每个月的天数
int ds[2][12] = { { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, { 31, 29,
		31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } };
//标题
char title[] = "SUM MON TUE WED THU FRI SAT";
//月份
int m[4][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } };
//月份
char mt[][4] = { "JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC" };

//根据蔡勒公式计算日期星期几
int wd(int year, int m, int d) {
	int c, y, w;
	if (m <= 2) {
		year--;
		m += 12;
	}
	c = year / 100;
	y = year % 100;
	w = (c / 4 - 2 * c + y + y / 4 + 13 * (m + 1) / 5 + d - 1);
	return (w % 7 + 7) % 7;
}
//闰年平年
int leapYear(int year) {
	return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

int main() {
	int i, j, k, leap, fd,year;

	scanf("%d%*c",&year);

	//初始三维数组为0
        //days[12][6][7]={0};
	for (i = 0; i < 12; i++) {
		for (j = 0; j < 6; j++) {
			for (k = 0; k < 7; k++) {
				days[i][j][k] = 0;
			}
		}
	}
	fd = wd(year, 1, 1);
	leap = leapYear(year);
	//三维数组赋值
	for (i = 0; i < 12; i++) {
		for (k = 0, j = 1; j <= ds[leap][i]; j++) {
			days[i][k][fd] = j;
			fd = (++fd) % 7;
			if (fd == 0) {
				k++;
			}
		}
	}
	//输出数据
	for (i = 0; i < 4; i++) {
		printf(" %13s   %27s   %27s \n", mt[m[i][0] - 1], mt[m[i][1] - 1],
				mt[m[i][2] - 1]);
		printf(" %s   %s   %s \n", title, title, title);
		for (j = 0; j < 6; j++) {
			//1,4,7
			for (k = 0; k < 7; k++) {
				if (days[m[i][0] - 1][j][k])
					printf("%4d", days[m[i][0] - 1][j][k]);
				else
					printf("    ");
			}
			printf("  ");
			//2,5,8
			for (k = 0; k < 7; k++) {
				if (days[m[i][1] - 1][j][k])
					printf("%4d", days[m[i][1] - 1][j][k]);
				else
					printf("    ");
			}
			printf("  ");
			//3,6,9
			for (k = 0; k < 7; k++) {
				if (days[m[i][2] - 1][j][k])
					printf("%4d", days[m[i][2] - 1][j][k]);
				else
					printf("    ");
			}
			printf("\n");
		}

	}
	return 0;
}

 

 打印格式:




 
 

  • 大小: 23.5 KB
分享到:
评论

相关推荐

    单片机c语言万年历程序 LCD显示

    单片机c语言万年历程序 LCD显示 #define uint unsigned int #define uchar unsigned char sbit DS1302_CLK = P3^6; //实时时钟时钟线引脚 sbit DS1302_IO = P3^7; //实时时钟数据线引脚 sbit DS1302_RST = P1^4...

    C语言万年历,农历,节日,星期

    C语言编写的万年历,实现农历,星期算法,界面实现,有节日,万年历,C

    C语言实现日历(阳历+农历)输出

    本程序利用C语言输出包含农历和阳历的日历,农历显示在阳历下方。此外还可以打印年历,星座查询、历史上的今天等功能。

    c语言万年历

    不错的c语言万年历例子,初学者可以研究下。

    基于C语言的万年历课程设计报告(内附程序,原理分析,心得体会等)

    功能简介: 1、闰年判断,能够判断该年是闰年还是平年。2、日期查询,输入日期能够判断该日期是星期几及具体信息。3、月历查询,可显示指定日期所在月份的...4、打印整年日历,输入一个年份能够显示出该年的全部月历。

    C语言 万年历

    使用C语言编写的万年历,输入年份和月份在屏幕上打印出这一月的日历,包括与之对应的星期数

    之前 c语言万年历 文章里面所实际用到的 日历文本 以及原始的 日历数据压缩包

    之前 文章里面所实际用到的 日历文本 以及原始的 日历数据

    c语言万年历源码.rar

    C语言万年历源码。rar是一个专为计算机专业学生和编程爱好者设计的实用源代码包,它包含了一个用C语言编写的万年历程序。这个程序设计精巧,用户友好,可以查询任何年份的日历信息,包括公历、农历、节假日等。源码...

    C语言万年历

    武汉某校某进才老师C语言期末考,键盘翻页万年历,非常实用

    C语言实现的万年历小程序

    输入一个年份(1-3000),然后显示12个月的月历,如屏幕显示不下,则提供翻页功能,用C语言和VC++6.0实现的

    c语言c++项目源代码_c语言万年历源码.rar

    **C语言万年历源码** 本资源提供了一个基于C语言的万年历程序源码,适用于学习、研究...总之,本C语言万年历源码是一个功能丰富、易于定制的实用工具,适合C语言学习者、研究者以及需要进行日历功能开发的开发者使用。

    用C语言编万年历(显示每月日历,节日)

    用c语言编写的万年历,可以显示按年输出,按月输出,显示上一年的日历和查询下一年的日历。

    C语言万年历彩色系统

    本万年历,用C语言编写的,完全符合所有功能。跟手机上的日历功能一样。比他的功能还多。。。。。适合C语言爱好者深度研究

    使用C语言编写简单的万年历

    本代码主要实现使用C语言编写简单的万年历,实现功能:用户输入任意一个年月日,输出该年月日对应周几,同时显示出该月的日历

    C语言实现公历转化为农历

    该资源是C语言的源文件,功能是实现公历转化为农历。VC6.0下编译通过的

    c语言编辑万年历系统

    万年历系统 (1)输入功能:输入全年每个月天数。 (2)计算功能:计算每天对应星期几。 (3)查询功能:按年度显示全年日历对应星期(每行显示2个星期)。

    C语言课程设计报告——万年历

    3. 通过对c语言万年历的设计进一步的巩固了用c语言编写程序,并且有利于更好的掌握c语言! 4. 在万年历的编写过程中也体会到了做事情一顶要细心、认真。更加知道了要掌握好基础知识。还有体会到了成功的感觉!在...

    日历系统 C语言日历系统

    一个用C语言写的日历程序!一个用C语言写的日历程序!一个用C语言写的日历程序!一个用C语言写的日历程序!

    用c语言编写万年历,代码,在VC环境中编译

    用C语言编写万年历源程序代码, #include"stdio.h" int judge(int year,int month)/*定义一个函数,把月分为四类(28,29,30,31)*/ { if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) ...

Global site tag (gtag.js) - Google Analytics