阳历转化为农历的c语言程序,公历和农历之间如何转换?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我这里有自己写的源程序:
#include
#include
struct data
{
int year1;
int specialmonth;
int month1[13];
};
struct day{
int year2;
int month2;
int day2;
};
int dis_day1(struct day *op,int *p)
{
int n=0,x;
n+=(op->year2-1980)*365;
for(x=1980;xyear2;x++)
if((x%4==0&&x%100!=0)||(x%100==0&&x%400==0))n+=1;
for(x=1;xmonth2);x++)
n+=*(p+x-1);
x=op->year2;
if(((x%4==0&&x%100!=0)||(x%100==0&&x%400==0))&&op->month2>2)n+=1;
n+=(op->day2-1);
return n;
}
int dis_day2(struct day *op,struct data *p)
{
int n=0,maxmonth,i,x;
for(x=1980;xyear2;x++)
{ if((p+x-1979)->specialmonth==0)maxmonth=12;
else maxmonth=13;
for(i=0;i
if((p+x-1979)->month1[i]==0)n+=29;
else n+=30;
}
if((p+op->year2-1979)->specialmonth!=0)
if((p+op->year2-1979)->specialmonthmonth2)op->month2++;
for(i=1;imonth2;i++)
{
if((p+op->year2-1979)->month1[i-1]==0)n+=29;
else n+=30;}
n+=(op->day2-1);
n+=46;
return n;
}
void work_out2(struct day *re,struct data *p,int n)
{
int n1=0,maxday,maxmonth,month,day,judge=0;
re->year2=1979;re->month2=11;re->day2=14;
while(1)
{
if(judge==1)break;
if(p->specialmonth==0)maxmonth=12;
else maxmonth=13;
if(p->year1==1979)month=12;
else month=1;
for(;month<=maxmonth;month++)
{
if(p->month1[month-1]==0)maxday=29;
else maxday=30;
if((p->year1==1979)&&(maxday==30))day=14;
else day=1;
for(;day<=maxday;day++)
{
if(n1==n){if(maxmonth==13&&month>p->specialmonth)month-=1;
re->year2=p->year1;re->month2=month;re->day2=day;judge=1;break;}
else n1+=1;
}
if(judge==1)break;}
p++;
}
}
void work_out1(struct day *re,int n,int *p)
{
int year=1980,n1=0,month,day,maxday,judge=0;
re->year2=1980;re->month2=1;re->day2=1;
while(1)
{
*(p+1)=28;
if(judge==1)break;
if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0))*(p+1)=29;
for(month=1;month<=12;month++)
{
maxday=*(p+month-1);
for(day=1;day<=maxday;day++)
{
if(n1==n){re->year2=year;re->month2=month;re->day2=day;judge=1;break;}
else n1++;
}
if(judge==1)break;}
year++;
}
}
main()
{
int n,c;
int sun[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int *p1=sun;
struct day ob,re; struct data *p2;
struct data year[37]={
{1979,6, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0 },
{1980,0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0 },
{1981,0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0 },
{1982,4, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1 },
{1983,0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0 },
{1984,10,1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1 },
{1985,0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0 },
{1986,0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0 },
{1987,6, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0 },
{1988,0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0 },
{1989,0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0 },
{1990,5, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1 },
{1991,0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0 },
{1992,0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0 },
{1993,3, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0 },
阳历转化为农历的c语言程序,公历和农历之间如何转换?相关推荐
- 求一到一百的总偶数奇数总数和的C语言程序,C语言程序求1—100之间的奇数和和偶数和...
点击查看C语言程序求1-100之间的奇数和和偶数和具体信息 答:用oddsum=1+3+5+···+99来计算奇数和:evensum=2+4+6+···+100来计算偶数和.首先设置两个计数器:odd ...
- C语言实现不同进制之间的转换
C语言实现不同进制之间的转换 说明 运行环境 1.十进制转二进制 2.二进制转换成十进制数 3.十进制数转换成十六进制数 4.十六进制数转换成十进制数 说明 1.进制转换目前只限于非负数之间的转换(带 ...
- 快乐学习C语言:汉字与十六进制数之间的转换
汉字与十六进制数之间的转换 制作串口调试助手的时候,想实现汉字与16进制数之间的转换,用 C 语言研究了一下,实现原理很简单.对于汉字转十六进制数,先用 char 类型数组来存放汉字,然后用 size ...
- js获取当前农历年月 原生js实现公历转农历
原生js实现公历转农历(转载) 网上原生JS实现公历转农历的代码参差不齐,个人经过项目实践后发现有个博主的写的很好使用起来也很方便,于是一起分享给大家. 原博主的代码是在vue框架下写的,具体如下: ...
- 转化为五分制的c语言程序,用C语言把百分制转化为五分制
您好 #include <stdio.h>int main() { int max=0, mid=0, min=0; scanf("%d", &max); pr ...
- c语言公历转农历程序,公历和农历之间如何转换?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我这里有自己写的源程序: #include #include struct data { int year1; int specialmonth; int ...
- 求奇数和的c语言程序,C语言程序求1—100之间的奇数和和偶数和
用oddsum=1+3+5+···+99来计算奇数和:evensum=2+4+6+···+100来计算偶数和.首先设置两个计数器:oddsum,evensum.其初值为0,利用if···else来判断 ...
- 关于累加偶数奇数的c语言程序,C语言程序求1—100之间的奇数和和偶数和
满意答案 RZCK 2013.11.13 采纳率:51% 等级:12 已帮助:8607人 1到100之间的奇数的和与偶数的和,也就是说1到100所有的奇数相加显并示出来,再把1到100所有的偶数 ...
- c语言程序obj exe,将目标程序(.OBJ)转换成可执行文件(.EXE)的程序称为( )。A.编辑程序B.编译程序C.链接程序D.汇编_考题宝...
在考生文件夹下,打开文档WORDl.DOCX,按照要求完成下列操作并以该文件名(WORD1.DOCX)保存文档. [文档开始] 常用的网罗互连设备. 常用的网罗互连设备主要有:中继器.网桥.路由器和网 ...
最新文章
- 影像组学视频学习笔记(9)-T检验(T-test)理论及示例、Li‘s have a solution and plan.
- 如何应对“中年危机”
- C++ 中常用数学函数
- 影响员工敬业度的三大因素
- 自定义搜索框,带提示信息的搜索框
- python的前端个web的前端有什么区别_用Python 操作Web 前端 基础
- wx.getUserProfile is not a function
- STM32新手入门教程
- 计算机科学与技术专业课程简介
- 货物列车尾部安全防护装置
- 如何用微信自动添加wifi连接服务器地址,微信服务号如何实现扫码自动连接WIFI?详细步骤介绍!...
- excel甘特图制作
- 2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: num
- HyperLynx(十六)PCI-E的设计与仿真
- 阿里云ACP认证之云服务器ECS知识整理(考题占比 31%)
- jquery 遍历java对象_jquery中object对象循环遍历的方法
- Windows10系统Qt调试ffmpeg.c
- 计算机考研什么时候开始备考,2022考研什么时候开始准备最好 为什么
- Excel 中如何根据单元格内容删除行
- 智能电话机器人(AI语音机器人)时什么?
热门文章
- java主程序怎样调用子程序_主程序调用子程序使用( )指令。
- ArcGIS 10.2.2支持无损CityGML格式进行3D城市建模
- 【论文笔记】Crop phenotyping in a context of Global Change: what to measure and how to do it
- Bugku Misc 我永远喜欢穹妹
- 乌镇互联网大会 阿里云飞天当选世界互联网代表性领先科技成果
- Git和GitHub(尚硅谷的视频教学)
- 基于Basys2的分秒计时器的设计
- Win10蓝牙开关消失解决方法
- python桌面界面开发在那种编译器写代码_Python智慧编程——第1讲 遇见Mu editor
- 工具及方法 - 斗地主技巧