PTA6-6 万年历显示函数

这篇具有很好参考价值的文章主要介绍了PTA6-6 万年历显示函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

设计一个万年历,当用户输入年份和月份时,显示这个月的日历表。程序重点是这个月的第一天是星期几和这个月有几天,有了这两个值,只需通过排列,就可以显示这个日历。程序要求用户输入的年份是从1900年开始,已知1900年1月1日是星期一。
日历中每个具体的日期占5个字符宽度,右对齐,上下的分隔线分别是由35个’*’ 连字符构成,表示星期的字符是三个字符,加两个空格分隔。

函数接口定义:

void ShowDate(int y, int m);

其中,参数y是给定年,参数m是给定月,函数功能是根据给定的年月,显示该月日历。

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>
int IsLeapYear(int y);   /*判断是否闰年,细节不表*/
int GetDaysofMonth(int y, int m); /*确定某个月的天数,细节不表*/
int GetTotalDays(int y, int m); /*计算从1900年1月开始到给定年月间的天数,不包含给定月的天数,细节不表*/
int GetFirstDayInTable(int y, int m); /*计算给定年月的第一天在日历表中的位置,返回值为0对应Sun位置,返回值为6对应Sta位置,细节不表*/
void ShowDate(int y, int m); /*显示日历*/

int main()
{
    int y,m;
    
    scanf("%d%d",&y,&m);   
    ShowDate(y,m);
    return 0;
}

/* 请在这里填写答案 */

输入样例:

在这里给出一组输入。例如:

1949  10

输出样例:

***********************************
  Sun  Mon  Tue  Wen  The  Fri  Sta
                                  1
    2    3    4    5    6    7    8
    9   10   11   12   13   14   15
   16   17   18   19   20   21   22
   23   24   25   26   27   28   29
   30   31
***********************************

看到网上没有相关题目的解答,自己写一下

好久不写C了,也写的蛮差的,但是可以过就行

void ShowDate(int y, int m)
{
    int flag=0,index=0;
    int n=GetFirstDayInTable(y,m);
    int x=GetDaysofMonth(y,m);
    printf("***********************************\n");
    printf("  Sun  Mon  Tue  Wen  The  Fri  Sta\n");
    for(int i=0;i<5*n;i++)
    {
        printf(" ");
    }
    for(int i=1;i<=x;i++)
    {
        if(n+i==8&&flag==0)
        {
            flag=1;
            index=0;
            printf("\n");
        }
        index++;
        printf("%5d",i);
        if(flag==1&&index%7==0)
        {
            printf("\n");
        }
    }
    printf("\n"); 
    printf("***********************************");
}

大概只是武理的学生会找到这篇文章,C语言还是很重要的,大家努力学吧,加油,祝大家考试都可以顺利通过//文章来源地址https://www.toymoban.com/news/detail-792986.html

到了这里,关于PTA6-6 万年历显示函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Java的万年历(课设)

    资源链接:基于Java的万年历(课设) 摘 要 Java编程语言自诞生十几年来,已经成功地运用在网络计算及移动等各个领域。对于开发者来说,它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。此次我们用JAVA来设计一个万年历程序,该程序以网页形

    2024年02月11日
    浏览(49)
  • 单片机万年历实现(报告+源码)

    摘要         近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,消费电子

    2024年02月07日
    浏览(47)
  • C语言课设万年历

    1.该程序可以输出某年的全部月份,也可以输出某月的全天日历。 2.输入年月日输出距今天还有多少天,星期几,是否是公历节日。 注:分代码应以.h的形式分开才保证正常运行。         总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,若是,该年的

    2024年02月11日
    浏览(39)
  • 基于FPGA的电子万年历设计

    quartusii12.1 系统的整个结构框图:  然后,设置控制输入有5个脚,分析功能如下所示: i_Function_Controller=0 ;显示年月日 i_sel:选择需要调整的某位数字。 i_set:计数器,调整需要调整的位置的数字。 具体调整的时候,首先选择i_sel,按键按一下,需要调整的位置会移动一次,

    2024年02月03日
    浏览(89)
  • 万年历【小游戏】(Java课设)

    Java实现的小游戏 适合作为Java课设!!! jdk1.8+Idea或eclipse 本系统源码地址:https://download.csdn.net/download/qq_50954361/87801830 更多Java课设系统源码地址:更多Java课设系统源码地址 更多Java小游戏运行效果展示:更多Java小游戏运行效果展示 Java课设部署教程:Java课设部署教程 注意事

    2024年02月15日
    浏览(48)
  • 基于51单片机的万年历设计

    目  录 前言....................................................................... 1 1 绪论..................................................................... 3 1.1 课题研究的背景..................................................... 3 1.2课题的研究目的与意义................................................ 3 1.3课题解决的主要内

    2024年02月02日
    浏览(50)
  • FPGA项目(12)——基于FPGA的万年历设计

            首先称述一下所实现的功能:可以显示年、月、日、时、分、秒,有闹钟设置功能,闹钟时间到时,蜂鸣器响,报警。用6位数码管进行显示,分三个显示页面,第一个页面显示年月日,第二个界面显示时分秒,第三个页面显示闹钟时间。可以用按键进行翻页,按键进

    2024年02月07日
    浏览(46)
  • FPGA开发(基于Quartus II)万年历,简单代码

       设计一个基于FPGA的电子万年历。设计的主要任务是在Quartus II开发环境中完成电子万年历系统FPGA内部各电路模块的设计,包括各个模块的设计输入、编译、仿真、验证和硬件测试任务。具体要求如下: 能实现2 4 小时、6 0 分、6 0 秒的基本计时功能,格式为0 8 - 56 - 36 :时

    2024年02月04日
    浏览(43)
  • 用C语言实现万年历的代码及思路(详细教程)

    1.当选择1的时候,输入 年 ,打印输入的这一年12月的日历。 2.当选择2的时候,输入 年-月 ,打印输入这一年这一月的日历。 实现效果: 选择1时 选择2时 C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下: 基姆拉尔森计算公式 W= (d+2 m+3 (m+1)/5+y+y/4-y/100+y/400)%

    2024年02月11日
    浏览(43)
  • 51单片机实训项目之“万年历”代码原理详解

    读者若需要工程源码,可以私信我,收到后会第一时间回复。这是仿真效果  51单片机万年历程序设计(附源码+仿真分享)_哔哩哔哩_bilibili STC89C52 DS18B20(温度传感器) DS1302(时钟芯片) LCD1602液晶显示 独立按键 杜邦线 (一).子程序 EEPROM.h LCD1602.h DS1302时钟模块的三个引脚:

    2024年02月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包