题目描述:输入年份和这一年的第几天,输出具体的年、月、日的信息。(注意闰年的判断!)

输入要求:输入两个整数分别代表年份和这一年的第几天。(假设数据都在有效范围内)

输出要求:输出对应的年、月、日。输出的数字之间以一条横线间隔,输出完毕换行。

代码如下:

#include<stdio.h>

//接口定义,year为年,date为天数,*nmonth是计算得出的月,*nday是计算得出的日
void month_day(int year, int date, int* nmonth, int* nday) {
    int yu, hao;
    int wang[2][13] = {
        {0,31,28,31,30,31,30,31,31,30,31,30,31},
        {0,31,29,31,30,31,30,31,31,30,31,30,31},                        //定义数组存放闰年和平年的天数
    };
    hao = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;        //闰年判别条件
    for (yu = 1; date > wang[hao][yu]; yu++)
        date -= wang[hao][yu];
    *nmonth = yu;
    *nday = date;
}
int main() {
    int day, month, year, date;                                //定义日、月、年和天数的变量
    printf("请输入年份和第几天:\n");
    scanf_s("%d%d", &year, &date);
    if (date >= 1 && year >= 1) {
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 && date < 367) {
            month_day(year, date, &month, &day);
            printf("具体年、月、日如下:\n%d-%d-%d", year, month, day);
        }
        if (year % 4 != 0 && date < 366) {
            month_day(year, date, &month, &day);
            printf("具体年、月、日如下:\n%d-%d-%d", year, month, day);
        }
    }
    else {
        printf("搞事情是吧?这边给你强行退出!\n");
    }
    return 0;
}

用C语言根据天数输出对应的年、月、日相关推荐

  1. C语言二月天数计算,关于计算两个日期间天数的代码,大家来看看

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是原贴: http://post.baidu.com/f?kz=100411727 这是原码: #include "stdio.h" ...

  2. c语言日期天数代码,关于计算两个日期间天数的代码,大家来看看

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是原贴: http://post.baidu.com/f?kz=100411727 这是原码: #include "stdio.h" ...

  3. 八进制数输出二进制c语言,C语言 某数输出二进制的某位

    如题: 输入一个整数,截取它对应的二进制位中从右到左的第8-11位(最右边为第0位). **输入格式要求:"%d" 提示信息:"请输入一个整数:" **输出格式 ...

  4. C语言学习之输出4X5的矩阵

    C语言学习之输出4X5的矩阵 方法一 #include <stdio.h> int main(){int a,b=0; //定义变量,赋初值for(a=1;a<=20;a++){ / ...

  5. 怎么输出链表长度C语言,下面程序输出结果不,如输出的链表长度结果不对,不知有关问题在哪里。请高手看下...

    当前位置:我的异常网» C语言 » 下面程序输出结果不,如输出的链表长度结果不对,不 下面程序输出结果不,如输出的链表长度结果不对,不知有关问题在哪里.请高手看下 www.myexceptions.n ...

  6. max日期最大值为0_C语言编写程序输出10个整数中最小值或最大值

    C语言编写程序输出10个整数中最小值或最大值 这是一个比较基础,同时也包含C语言中诸多特点的程序,仔细体会有很多的格式规则和技巧.其中包括:输入语句,输出语句,数组,分支结构,循环结构.希望广大C语言 ...

  7. c语言一个整数各位数字个数_C语言编写程序输出10个整数中最小值或最大值

    C语言编写程序输出10个整数中最小值或最大值 这是一个比较基础,同时也包含C语言中诸多特点的程序,仔细体会有很多的格式规则和技巧.其中包括:输入语句,输出语句,数组,分支结构,循环结构.希望广大C语言 ...

  8. c语言不能正确输出最小值,C语言综合测试.doc

    C语言综合测试 1.在C语言中,下面()转义序列表示换行(选一项)在C语言中,为了输出如图所示的一字符(),下面的代码正确的是().(选择一项)'c') B)putchar('c') C)printf ...

  9. 找出m到n水仙花数c语言程序设计,《C语言课程设计输出水仙花数》.doc

    <C语言课程设计输出水仙花数> C语言程序设计课程设计 评语: 考勤(10)纪律(10)过程(40)设计报告(30)答辩(10)总成绩(100) 专 业: 班 级: 姓 名: 学 号: 指 ...

最新文章

  1. c语言解析xml字符串_Python XML解析
  2. numpy数组切片:一维/二维/数组
  3. 10、同步机制遵循的原则_我要遵循的10条原则
  4. 如何让Keil MDK兼容Keil C51?
  5. ElementUI中的el-table实现多选框不勾选的提示
  6. iOS攻防——(四)class-dump-与-Dumpdecrypted-使用
  7. mysql报错注入实战_MySQL手工注入实战
  8. WebCast学习链接
  9. MaxCompute中如何通过logview诊断慢作业
  10. linux 服务器(CentOS7)搭建PHP环境+SSH配置+服务器文件上传配置
  11. 高可用集群HA之双机集群
  12. 在C++Builder2010中配置OpenCV2.2
  13. 重磅!吴恩达新书《机器学习训练秘籍》中文版来了(附PDF下载)
  14. CentOS简单上手——第四篇
  15. 国产手机再次发力,是否可以阻击三星苹果
  16. 简单融合双系统 苹果虚拟Win8实用技巧
  17. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java焦虑自测与交流平台k43cf
  18. 8代9代cpu平台改换win7的实践经验!
  19. 世界经济论坛报告:全方位评估Fintech将如何颠覆金融业竞争格局,包括路径、模式和终局(二)...
  20. redo synch writes在什么情况下发生

热门文章

  1. 一度智信:电商店铺销量不够?必须提高店铺权重
  2. c语言 sd卡检测,单片机读取SD卡CSD寄存器获取容量详解(V1.0V2.0)
  3. 基于springboot健身管理系统微信小程序源码
  4. SlimDX和WPF的合作应用
  5. 华为S9300交换机CFM和Y.1731配置
  6. 洛谷P2168 荷马史诗
  7. zed_wrapper
  8. dynatrace_克服将Dynatrace部署到IBM Bluemix Local中的限制
  9. 如何转换鄚咖驼世界地图投影坐标
  10. vue-seamless-scroll滚动组件-复制可用