万年历c语言打印年月,万年历(实现从键盘输入1900年之后的任意的某年、某月,输出该月的日历)...
//25.万年历(实现从键盘输入1900年之后的任意的某年、某月,输出该月的日历)
import java.util.Scanner;
public class Calendar{
public static void main(String[] args){
//显示日历
// 1、对应月份的天数
//① 1、3、5、7、8、10、12月份 31天
//② 4、6、9、11 30天
//③ 2 28天或29天(待定)
// 2、对应月份1号 是星期几
//① 1900年 1月 1日 星期1
//② 指定日期的星期 与1900年1月1日相差的天数%7+1 (1~7的范围)
//③ 相差天数=1900年与年份之间相差的天数 + 年份到指定月份1号之前相差的天数
// 3、指定年份是平年还是闰年(确定二月 的天数)
//① 确定指定年份的2月有多少天
//接收用户从控制台输入的数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份(>=1900):");
int year = sc.nextInt();//获取年份
System.out.println("请输入月份[1-12]:");
int month = sc.nextInt();//获取月份
//1、对应月份的天数
int days = 28;
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
days = 31;
}else if(month==4||month==6||month==9||month==11){
days = 30;
}else{
if(year%400==0||(year%4==0&&year%100!=0)){//判断闰年的情况
days = 29;
}
}
//2、相差天数
int yDays = 0;//统计两个年份之间相差的天数
for(int y = 1900;y
if(year%400==0||(year%4==0&&year%100!=0)){//判断闰年的情况
yDays += 366;
}else{
yDays += 365;
}
}
int mDays = 0;//指定年份1月1日,到指定月份1日相差的天数
for(int m = 1;m
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
mDays += 31;
}else if(m==4||m==6||m==9||m==11){
mDays += 30;
}else{
if(year%400==0||(year%4==0&&year%100!=0)){//判断闰年的情况
mDays += 29;
}else{
mDays += 28;
}
}
}
int totalDays = yDays + mDays+1;//相差总天数
int week = totalDays%7+1;//指定月份1号 的星期
System.out.println("日\t一\t二\t三\t四\t五\t六");
//先根据星期 确定需要打印空位的 情况(week)
for(int i = 1;i<=week;i++){
if(i%7==0){
System.out.println(" \t");
}else{
System.out.print(" \t");
}
}
//可以打印对应月份的天数(days)
for(int j = 1;j<=days;j++){
if((j+week)%7==0){
System.out.println(j+"\t");
}else{
System.out.print(j+"\t");
}
}
}
}
万年历c语言打印年月,万年历(实现从键盘输入1900年之后的任意的某年、某月,输出该月的日历)...相关推荐
- c语言课程下载模板,万年历C语言课程设计万年历
万年历C语言课程设计万年历Tag内容描述: 1.摘 要本设计应用AT89C52芯片作为核心,采用C语言进行编程,实现以下功能:小时.分.秒.年.月.日.星期的显示和实时温度检测.该设计的电子时钟系统由 ...
- c语言大作业万年历,C语言实现简单万年历
本文实例为大家分享了C语言实现简单万年历的具体代码,供大家参考,具体内容如下 #include #include int year, month; int run[12] = { 31,29,31,3 ...
- c语言课程设计万年历,C语言课程设计--万年历.doc
C语言课程设计--万年历 C 语 言 课 程 设 计 报 告 设计题目:学生姓名:学生学号:专业班级:学院名称:同组人姓名:指导老师:姚 兰 年 月 日 1 需求分析 问题描述输入数据要求 /*如果给 ...
- C语言基础课 编写程序之从键盘输入10个候选人的姓名和得票数,编程实现如下:1.统计总票数2.打印得票数最多的候选人最多的候选人的姓名和得票数3.给定姓名,查询该候选人的得票数4.按得票数从高到低
从键盘输入10个候选人的姓名和得票数,编程实现如下功能:1.统计总票数2.打印得票数最多的候选人最多的候选人的姓名和得票数3.给定姓名,查询该候选人的得票数4.按得票数从高到低的顺序,打印所有候选人的 ...
- 22 Python IO、打印到屏幕、读取键盘输入、打开和关闭文件、文件定位、重命名和删除文件、Python里的目录、文件,目录相关的方法
22Python文件I/O 22.1打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: ...
- 输入三角形的三c语言程序,请问c语言中 从键盘输入三角形的3边 调用三角形面积公式求面积 并输.,C语言编写程序,从键盘输入三角形三条边长(实数),计算并输出...
导航:网站首页 > 请问c语言中 从键盘输入三角形的3边 调用三角形面积公式求面积 并输.,C语言编写程序,从键盘输入三角形三条边长(实数),计算并输出 请问c语言中 从键盘输入三角形的3边 调 ...
- C语言链表-创建链表并且从键盘输入赋值
链表是C语言里面学习比较困难的一部分内容,下面这个例子就演示了创建一个链表并且从输入端赋值,希望对大家有用. #include <stdio.h> #include <stdlib. ...
- 【C语言】案例二十一 从键盘输入一组数据,求出这一组数据的平均值并输出(调用函数)
函数的定义 在C语言中最基础的程序模块就是函数,函数被视为程序中的基本逻辑单位,一个C语言程序由一个main()函数和若干个普通函数构成. 定义一个C函数的语法格式如下: 返回值类型 函数名([[参数 ...
- C语言学习之试编程从键盘输入2*3的二维数组,将该数组行列交换输出。
试编程从键盘输入2*3的二维数组,将该数组行列交换输出. #include <stdio.h> void main(){int a[2][3];for(int i=0;i<2;i++ ...
最新文章
- 微软企业库4.1学习笔记(六)创建对象
- Fragment详解之四——管理Fragment(2)
- TensorFlow入门:第一个机器学习Demo
- how to find the original page containing a given image
- 让未备案的网站先飙起来
- MyBatis-Plus通过注解的方式绑定一对多查询
- unittest 简单使用
- 【vue】vue中element表格导出为excel表格
- 大转盘抽奖小程序源码
- 非确定有限自动机转换为确定有限自动机
- 学习网络的几本好书推荐
- 小技巧 - 淘宝怎么联系人工客服?
- 解决桌面单击右键反应慢的问题
- 风吹柳叶(Curtain creeper)
- Websocket(二)-客户端与服务器通信
- 人工智能(AI)是如何处理数据的?
- python 如何判断当天为周几?判断当天是否为工作日?
- 【国产之光】:龙芯1B(嵌入式方向)
- 中国人寿研发中心笔试JAVA开发
- 一例所有文件都打不开的数据恢复过程