[C语言练习]万年历加强版
/**
* @copyright 2011 Chunhui Wang
*
* wangchunhui@wangchunhui.cn
*/ #include<stdio.h> int main()
{
printf("\t\t\t万年历\n");
printf("\t\t\t\t------Made by Chunhui Wang\n\n");
int i,year, month;
int day;//记录每月第一天是周几。
int date;//每年星期变化,平年加1,闰年加2。
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//月份天数 。
int Year[10000];//每年第一天周几。
Year[1900]=1;
for(i=1900;i<9999;i++)
{
date=1;
if((i%4==0)&&(i%100!=0)||(i%400==0))
{
date=2;
}
Year[i+1]=(Year[i]+date)%7;
} while(1)
{
printf("请输入年份(如1900):");
scanf("%d",&year);
printf("请输入月份(如 01):");
scanf("%d",&month); a[2]=28;
if(((year%4==0)&&(year%100!=0)||(year%400==0))&&(month>=2))
{
a[2]=29;
} day=Year[year];
for(i=1;i<month;i++)
{
day=day+a[i];
}
day=day%7; printf("\t\t\t\t%d年%d月份\n\n",year,month);
printf("\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日\n");
for(i=0;i<day;i++)
{
printf("\t");
}
if(day==0)printf("\t\t\t\t\t\t\t"); for(i=0;i<a[month];i++)
{
printf("%d\t",i+1);
if((i+day)%7==0)
{
printf("\n\t");
}
}
printf("\n\n\n\n"); } return 0;
}
[C语言练习]万年历加强版的更多相关文章
- 实例15_C语言绘制万年历
实例说明:
- 「实验课选题详解」用C语言实现万年历
题目要求 编程实现万年历,要求: 可根据用户输入或系统日期进行初始化,如果用户无输入则显示系统日期所在月份的月历,并突出显示当前日期: 可根据用户输入的日期查询,并显示查询结果所在月份的月历,突出显示 ...
- 【实验课选题详解】用C语言实现万年历
题目要求 编程实现万年历,要求: 可根据用户输入或系统日期进行初始化,如果用户无输入则显示系统日期所在月份的月历,并突出显示当前日期: 可根据用户输入的日期查询,并显示查询结果所在月份的月历,突出显示 ...
- C语言实现万年历
给出你想知道的年份,便可以计算出该年对应的每个月每个日所对应的星期数,是不是感觉很好玩 ? #include <stdio.h> #include<stdlib.h> long ...
- C语言可以开发哪些项目?
C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中--,这些迷茫也导致了我们在学习的过程 ...
- C语言可以开发哪些项目?(转)
原文地址:https://www.cnblogs.com/shiyanlou/p/6098661.html 知乎:https://www.zhihu.com/question/20564904 C语言 ...
- 17个C语言可以做的小案例项目
C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多初学者在学习的过程中难免会出现迷茫,比如:不知道C语言可以开发哪些项目,可以应用在哪些实际的开发中……,这些迷茫也导致了我们在学习的过程 ...
- 用C语言开发的19个经典项目,你会第几个?
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:实验楼 C语言是我们大多数人的编程入门语言,对其也再熟悉不过了,不过很多 ...
- 好你个C语言,原来还有这么多副面孔!
C语言可以这样比喻,是一门非常强大的内功心法,学会它可以做到一法通万法.这也是它至今不衰的原因.说了这么多C语言的优点,现在来说说它的缺点.C语言最大的优点也是它最大的缺点,拥有强大的力量时应时刻保持 ...
随机推荐
- 生成shadow中hash字串
[root@master base]# openssl passwd -1 -salt 123Password: $1$123$2rm.J6pr3p.rmj6YoKSQ8.[root@master b ...
- jQuery插件jqplot的详细配置说明和渲染器
jQuery插件jqplot的详细配置说明和渲染器 (2012-08-23 08:57:42) 转载▼ 标签: jqplot 详细配置 渲染器 it 分类: 技术类 jQuery.jqplot插件的官 ...
- jquery 中 (function( window, undefined ) {})(window)写法详解(转)
最常见的闭包 (Closure) 范式大家都很熟悉了: 123 (function() {// ...})(); 很简单,大家都在用.但是,我们需要了解更多.首先,闭包是一个匿名函数 (Anonymo ...
- cf466C Number of Ways
C. Number of Ways time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- PHP单例模式编写
今天来点基础的设计模式: 如何利用单例模式实现一个数据库中间层 class Db{ static private $_instance; //当前数据库连接实例 static public funct ...
- C based
switch(ch){case '\n': lines += 1; /*fail thru*/case ' ':case '\t': words += 1;default: c ...
- 关于” fatal error C1010: unexpected end of file while looking forprecompiled header directive”问题
其中文意思是:致命错误C1010:意想不到的文件结束而寻找预编译头文件的指令错误执行cl exe. 经过多次的查找,终于解决这问题 方法一: 在头文件中加“#include "stdafx. ...
- 电脑中已有VS2005和VS2010安装.NET3.5失败的解决方案
1.重启 MSI 安装服务: 运行-输入“CMD”命令,在弹出的对话框中输入命令: msiexec/unregserver ,回车,并再次输入 msiexec/regserver . 2.启用 Pri ...
- C#中Linq延迟执行问题
本文来自:http://msdn.microsoft.com/zh-cn/library/bb399393(v=vs.110).aspx http://www.cnblogs.com/zhanglin ...
- OC中NSString 的常用方法
NSString *str1 = @"BeiJing"; NSString *str2 = @"beijing"; //全部转为大写 NSLog(@" ...