该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我这里有自己写的源程序:

#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语言公历转农历程序,公历和农历之间如何转换?相关推荐

  1. c语言转换为python语言_使用C语言中的数据缓冲区和NumPy数组之间的转换来为Python接口打包C程序的最佳方法是什么?...

    基本上有三种方式: >从图像缓冲区复制到NumPy阵列,反之亦然.当给定C/C++图像时,创建NumPy阵列并复制数据,当给定NumPy阵列时,创建C/C++图像并复制数据. > NumP ...

  2. c++ cstring 转换 char_C语言进阶之路:字符串与整数之间的转换!

    在C语言中,我们经常面临需要将字符串转换为整型,以及将整型转化为字符串的问题. 将字符串转换为整数的函数在stdlib.h中定义: int atoi(const char *str); atoi函数会 ...

  3. 小朋友学C语言(23):二进制与十进制之间的转换

    在学本节之前,请先复习 小朋友学C语言(17):二进制 一.二进制转换为十进制的C语言代码 #include <stdio.h> #include <string.h>int ...

  4. 微信小程序px和rpx之间的转换

    由于在微信小程序中,所有屏幕的宽度均为750rpx,因此可以进行如下转换: rpx转px: var px = rpx / 750 * wx.getSystemInfoSync().windowWidt ...

  5. c语言中八进制转换成十进制数,C语言中的二进制、八进制、十进制之间的转换...

    满意答案 郈广瑞2 2015.07.10 采纳率:53%    等级:8 已帮助:362人 你这个要求源代码比较麻烦,网上比较多的,数据结构要多看看了,比较好实现的方法,是利用栈.十进制转为二进制,你 ...

  6. c语言万年历农历转公历,公历日期与农历日期的相互转换程序

    公历日期与农历日期的相互转换程序 //********************************** // 公历日期与农历日期的相互转换程序 // 公元1800年1月25日-2101年1月28日 ...

  7. C语言实现根据阳历(公历)显示农历,干支,生肖

    C语言实现根据阳历(公历)显示农历,干支,生肖 思路,代码仅供参考,如遇问题,发现错误请评论或邮件:609592946@qq.com 文章目录 C语言实现根据阳历(公历)显示农历,干支,生肖 功能 一 ...

  8. swift 时间选择器第三方。公历转农历,农历转公历。

    DFDatePicker. 使用swift5 *支持公元后的任意年的公历和农历,以及公历转农历,农历转公历. *支持农历闰月 *支持年月日时分秒,以及自由组合 *支持选中定位 *轻量化,共一个swif ...

  9. 年月日时天干地支推算(农历、公历)

    八字分四柱,每柱2字,分别对应年.月.日.时 一.天干,地支 /*** 天干**/ public enum TianGan {甲(1, "甲"), 乙(2,"乙" ...

最新文章

  1. 如果我要...(开发版)
  2. java ee实验新闻_JAVAEE第四次作业-JSP显示新闻
  3. 标准C程序设计七---66
  4. 3-3:类与对象中篇——默认成员函数之构造函数和析构函数
  5. 毕设日志——增加多尺度对应的不一样scale的RPN网络
  6. python计算商品总价_python根据京东商品url获取产品价格
  7. 药品信息管理系统mysql_药品信息管理系统数据库部分代码
  8. c++ 各种求min/max方法效率测试
  9. 电脑连接SONY蓝牙耳机没有声音
  10. Python实现将图片转为Excel
  11. 显示计算机配置的命令是,查看电脑配置命令
  12. 设置 VMware 虚拟网络编辑器
  13. android电量百分比,Android P 状态栏显示电量百分比
  14. 郭晶晶带霍启刚回京见家长 将赶在明年结婚
  15. 函数中有多个return?C语言中,一个函数可以有几个返回值?
  16. android开源的酷炫的交互动画和视觉效果:Interactive-animation
  17. 2019猪年活动营销不完全攻略
  18. hive 中的正则表达式(筛选车牌号)
  19. 微信视频点播小程序系统设计与实现
  20. 【飞行器】基于matlab GUI四旋飞行器模型【含Matlab源码 2075期】

热门文章

  1. 公共经济学(开卷)期末复习题
  2. Chrome下载危险文件拦截手动绕过
  3. 【伪大数据】对QQ空间指定好友2017年说说数据的分析
  4. IBM创磁带存储新纪录
  5. 解决MySQL CPU占用100%的经验总结 转
  6. AIX磁盘管理基础知识
  7. 公司企业邮箱怎么登录?这些安全登录邮箱的方法你要知道
  8. 将海康大华宇视等网络摄像机RTSP流采用websecket和H5进行RTSP网页无插件直播点播的技术方案
  9. element ui 前台模板_一个干净优雅的 Element UI Admin 模板
  10. 电脑手机硬件测试软件,手机硬件检测:Z-DeviceTest