打印英文年历C语言函数,C语言打印年历
voidshow_year(int year)
{inti,j,k,t,n; // 用来辅助计数int table[24][21] = {0}; // 年历数组int month_day[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 每月上限天数if ((0 == year%4 || 0 == year%400) && 0 != year%100) //闰年检查,如果是闰年,2月上限天数改为29
{
month_day[2] = 29;
}
printf ("******************\n");
printf ("%d \n", year);
printf ("******************\n");for (i=0; i<12; i++) // 为了使逻辑更加清晰,一次循环只完成一个月的日期填写,i为当前月份
{n=cal_first(i+1); // n为当前月份第一天的星期数,cal_first函数中的月数必须为1~12,for (j=(i/3)*6; j3)*6+6; j++) // 所以这里传参时+1,j用来根据月数控制每个月在年历数组中的第一维坐标
{ // 坐标(纵坐标)的位置,同样的,用来根据月数控制每个月在年历数组中for (k=(i%3)*7; k3)*7+7; k++) // 第二维坐标(横坐标)的位置
{
t= (j%6)*7 + k%7 - n + 2; // t用来临时记录当前位置应该填入年历数组的值,为了简化逻辑,这里通过if (0 >=t) // 数学计算记录每一个位置应填入的值,(j%6)*7 + k%7计算出的值是本
{ // 月的第几个位置,-n+2就会计算出当前格内正确的日期。这样做会导致得出continue; // 负数或0,或炒熟每月天数上限,我们用if + continue将其跳过,这样
} // 不正确的日期就依然是年历数组初始化时的0if (t <=month_day[i])
{
table[j][k]=t;
}else{continue;
}
}
}
}for (i=0; i<24; i++) // 至此,年历数组已经全部填好,接下来是打印环节,相信已经比较好理解了
{ // 每隔6行打印标头,7列多打印几个空格,遇到数组中为0则同样打印空格if (0 ==i)
{
printf ("Jan Feb Mar\n");
printf ("Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun\n");
}if (6 ==i)
{
printf ("Apr May Jun\n");
printf ("Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun\n");
}if (12 ==i)
{
printf ("Jul Agu Sep\n");
printf ("Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun\n");
}if (18 ==i)
{
printf ("Oct Nov Dec\n");
printf ("Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun Mon Tue Wen Thu Fir Sat Sun\n");
}for (j=0; j<21; j++)
{if (7 == j || 14 ==j)
{
printf (" ");
}if (0 ==table[i][j])
{
printf (" ");continue;
}
printf ("%4d", table[i][j]);
}
printf ("\n");
}
}
打印英文年历C语言函数,C语言打印年历相关推荐
- 快速傅里叶变换c语言函数,C语言实现FFT(快速傅里叶变换)
while(1); } #include #include /********************************************************************* ...
- 东方财富 c语言函数,C语言的歧义
本文来自:/?p=830 语言是人与人相互沟通的途径,而计算机语言则是人和计算机沟通的途径.就算是任何再完美的自然语言都会有歧义,但是又是什么让人和计算计算机间产生了歧义呢? 下面这篇文章来自Gowr ...
- 装箱问题c语言函数,C语言基于贪心算法解决装箱问题的方法
本文实例讲述了C语言基于贪心算法解决装箱问题的方法.分享给大家供大家参考,具体如下: 问题描述: 有一些箱子,容量为V,同时有n个物品,每个物品有一个体积(小于等于箱子容量),要求将物品全部装入箱子中 ...
- 潭州教育c语言函数,C语言知识点(2)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 2.3 整型数据 整形常量 在C语言程序中,整型常量可以用十进制.八进制和十六进制等形式表示.十进制基本常量用一串连续的数字表示,例如32767.-327 ...
- 数组排序c语言函数_C语言如何写出返回数组最大最小值之差的函数(C primer plus 10-5)...
程序内容: 编写一个函数,返回储存在都变了类型数组中最大值和最小值的差值,并在一个简单的程序中测试该函数. 程序为C Primer Plus第十章第四题的答案示例 附:程序代码为本人亲自编写,并非书内 ...
- 双向链表操作c语言 函数,c语言 双向链表的基础操作
//头文件 #pragma once typedef int DataType; typedef struct LinkList { DataType _data; struct LinkList* ...
- 【Go】Go 语言函数
文章目录 一.Go 语言函数 二.函数的声明 三.函数的调用 四.函数参数 1. 值传递和引用传递 (1)值传递 (2)引用传递 2. 不定参数传值 五.函数返回值 理解 Golang 的延迟调用(d ...
- c r语言中rank函数,R语言rank函数详细解析
R语言rank函数详细解析 发布于 2016-01-04 16:26:04 | 557 次阅读 | 评论: 0 | 来源: PHPERZ R 数据统计分析语言R是用于统计分析.绘图的语言和操作环境.R ...
- linux父进程中显示子进程pid,请教linux下c语言函数fork父进程打印子进程的PID
请教linux下c语言函数fork父进程打印子进程的PID 关注:296 答案:2 信息版本:手机版 解决时间 2019-01-14 04:55 雨不眠的下 2019-01-13 12:23 用于 ...
最新文章
- 大脑构造图与功能解析_施工技术特辑 | 全套脚手架三维构造图解析
- linux 基本的操作
- wxWidgets:wxPython 概述
- 本博客弃用,请移步http://ningios.com查看最新
- 计算机组成原理 控制冒险,电子科大-系统结构实验-解决控制冒险.docx
- [小才能]防备误删文件
- ubuntu中如何解压rar文件
- js中的异步与同步,解决由异步引起的问题
- android虚拟pdf打印机,虚拟打印机PDF
- android ijk 播放器,ijkplayer 播放器:在Android端进行native调试
- 虚拟人出新晋卷王,无薪工作70天却没人认出来
- apk android 应用qq表情,一句代码让你的安卓APP支持emoji表情
- java翁凯_翁凯-JAVA
- 2022大淘宝技术工程师推荐书单
- JAVA毕业设计共享充电宝管理系统计算机源码+lw文档+系统+调试部署+数据库
- python负数的处理
- 说说你平时怎么优化mysql的_面试:给我说说你平时是如何优化MySQL的?
- linux. qt信号崩溃,【创龙AM4379 Cortex-A9试用体验】之I/O中断异步通知驱动程序+QT捕获Linux系统信号+测试信号通知...
- 通俗讲解 Kademlia 原理
- Java使用Jsoup爬虫获取网站内容(三)获取元素内容属性的方法
热门文章
- Chapter 5 Blood Type——33
- pureMVC简单示例及其原理讲解四(Controller层)
- imgareaselect 缩略图 裁剪图片
- .Net 中的反射(查看基本类型信息) - Part.2
- 栈在表达式计算过程中的应用
- 快速高效 | iOS身份证识别
- linux基础命令(-)
- 2017年秋招-广联达面试及思考
- java输出一些内容到日志文件
- 第三章 中间件,3.1 万亿级数据洪峰下的分布式消息引擎(作者:冯嘉、誓嘉、尘央、牟羽)...