作业-国庆-下一天

#include<stdio.h>
int main()
{
    int a,b,c;
    char e=‘y‘;
next:    printf("请输入您的生日,以x年-x月-x日的形式输入");
    scanf("%d-%d-%d",&a,&b,&c);
    if(a%4==0)
    {
        printf("此年是闰年\n");
    if(b==1||b==3||b==5||b==7||b==8||b==10)
        {
            if(c==31)
            {
                c=1,b++;
             }
             else if(c<31&&c>0)
             {
                 c++;
             }
             else
             {
                 printf("输入错误");
             }
        }
         else if(b==4||b==6||b==9||b==11)
         {
            if(c==30)
            {
                c=1,b++;
            }
            else if(c<30&&c>0)
            {
                c++;
            }
            else
            {
                printf("输入错误");
            }
         }
         else if(b==12)
         {
            if(c==31)
            {
                a++,b=1,c=1;
            }
            else if(c<31&&c>0)
            {
                c++;
            }
            else
            {
                printf("输入错误");
            }
            }

            else if(b==2)
            {
            if(c==28)
            {
                c=1,b++;
            }
            else if(c<28&&c>0)
            {
                c++;
            }
            else if(c==29)
            {
                printf("此年无2月29日,请重新输入\n");

                goto next;

            }
            else
            {
                printf("输入错误");
            }
         }
           else
         {
            printf("输入错误");
             }
        }    

    else
    {
        printf("此年是平年\n");
        if(b==1||b==3||b==5||b==7||b==8||b==10)
        {
            if(c==31)
            {
                c=1,b++;
             }
             else if(c<31&&c>0)
             {
                 c++;
             }
             else
             {
                 printf("输入错误");
             }
        }
         else if(b==4||b==6||b==9||b==11)
         {
            if(c==30)
            {
                c=1,b++;
            }
            else if(c<30&&c>0)
            {
                c++;
            }
            else
            {
                printf("输入错误");
            }
         }
         else if(b==12)
         {
            if(c==31)
            {
                a++,b=1,c=1;
            }
            else if(c<31&&c>0)
            {
                c++;
            }
            else
            {
                printf("输入错误");
            }
            }
            else if(b==2)
            {
                if(c==29)
                {
                    c=1,b++;
                }
                else if(c<29&&c>0)
                {
                    c++;
                }
                else
                {
                    printf("输入错误");
                }
            }
    }
    printf("您生日的下一天是%d-%d-%d\n",a,b,c);
    if(getchar()==‘y‘)
    {
    goto next;
}

}

这应该是我最近编的最长的程序了,比涉及自定义函数的都长......

这不是好事,一个程序应该是越简洁越好才对。以后应该养成画图的习惯。

加上循环应该会简化不少。不过还没想好。

这里的知识就是if条件句的运用了,真是充实的练习呢。

本身感觉没什么好说的,但循环上出了点问题。

我本来想让程序在平年2月29那个地方按‘y’返回的来着,但如果这么写的话:

else if(c==29)
{
printf("此年无2月29日,请按‘y‘重新输入,或按其它键退出\n");
if(getchar()==‘y‘)
{
goto next;

}

虽然是可以,但程序还是会输出“您生日的下一天是”,这不是我想要的。

但如果用return 0,程序就结束了。这也不能用break啊......

所以只好这样写了。这样的话,那个人如果一直输入平年的2月29的话,就出不去了呢(笑)。

如果是工作的话,这肯定不是客户想要的,所以我还需要改进呢。

但现在真的太晚啦,等等吧......

时间: 2025-01-01 11:41:30

作业-国庆-下一天的相关文章

Flink运行时之客户端提交作业图-下

submitJob方法分析 JobClientActor通过向JobManager的Actor发送SubmitJob消息来提交Job,JobManager接收到消息对象之后,构建一个JobInfo对象以封装Job的基本信息,然后将这两个对象传递给submitJob方法: case SubmitJob(jobGraph, listeningBehaviour) => val client = sender() val jobInfo = new JobInfo(client, listeningB

作业合集

#include<stdio.h> int main() { printf("*********\n *******\n *****\n ***\n *"); } 作业-实验一-倒三角 首先道个歉,这几天事情有点多结果把作业落下了真的很不好意思. 说真的,这个程序很基础,其中包含的知识也是少的可以: #include<stdio.h>程序的起始 int main() 主函数(有且只有一个) printf 输出 这个实验主要就是这几个知识点的实际应用. 不过虽然早

20155332 补交ch12课下作业

20155332 补交ch12课下作业 课下测试提交晚了,我课后补做了一遍,答对13题,答错3题. 试题内容如下所示: 课本内容 1.并发(Concurrency) 访问慢I/O设备:就像当应用程序等待I/O中的数据时内核会切换运行其他进程一样,我们的应用也可以用类似的方式,将I/O请求与其他工作重叠从而挖掘并发的潜能. 推迟工作而减少延迟:我们可以推迟一些耗时工作稍后执行,例如内存分配器不在free时整理碎片,而是将这些琐屑的工作推迟到一个稍后执行的独立"逻辑流"(logical f

MS SQL作业Schedule的限制注意事项

  最近遇到了一个关于MS SQL作业Schedule下有限制的特殊案例,有一个作业,用户要求执行的时间为:9:30,14:30,16:30, 19:00,于是我设置了两个Schedule,其中一个每隔5小时执行一次,时间范围为9:30~  14:30.另外一个作业的Schedule为每隔150分钟执行,时间范围16:30 ~ 19:00, 结果设置后,用户反馈作业并没有在19:00执行,而是18:10执行了,我去检查,使用SSMS客户端(2014)打开检查时,发现设置每隔150分钟后,点击保存

使用SQL Server Management Studio 创建数据库备份作业

SQL Server 作业无非就是按照规定的时间执行指定的脚本,这里介绍如何用SSMS(SQL Sever 2008)创建作业备份数据库. (0)假设在创建作业之前你所要备份的数据库已经存在:其次,你已经会启动SQL Sever 代理(一般是关闭的) (1)创建SQL Server代理作业 (1.1)新建作业,输出常规信息 如上图:输入作业名称(如:BackupJobTest),这里所有者和类别都是默认的,输入说明(就跟写代码要写注释一样,利人利己) (1.2)设置作业执行步骤 点击左边“选择页

作业-实验一-倒三角

#include<stdio.h> int main() { printf("*********\n *******\n *****\n ***\n *"); } 首先道个歉,这几天事情有点多结果把作业落下了真的很不好意思. 说真的,这个程序很基础,其中包含的知识也是少的可以: #include<stdio.h>程序的起始 int main() 主函数(有且只有一个) printf 输出 这个实验主要就是这几个知识点的实际应用. 不过虽然早已写过,但还有一个我以

C语言最后一次作业--总结报告

本次作业是本学期的最后一次作业,有始有终,本次作业回顾下本学期的第0次作业,为自己本学期学期做个总结. 建议打开你的第0次作业,填写以下内容. 1.当初你是如何做出选择计算机专业的决定的? 经过一个学期,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 2.对比开篇博客你对课程目标和期待. 根据目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么? 3.回忆整个学期,如果重新来过一次,你打算做哪些(技术上,而不是态度上的)改变

C语言--第0周作业

1.翻阅邹欣老师博客关于师生关系博客,并回答下列问题: 1)最理想的师生关系是健身教练和学员的关系,在这种师生关系中你期望获得来自老师的哪些帮助? 答: 若教练和学员的关系是最理想的师生关系,那就意味着师生关系不是以评价教学的方式,依靠学生短期的评价来驱动教学所维持的关系:也不是老师强制性教育同学或者是老师在课堂上像保姆一样看管学生.而是一种平等的.相互需要的最佳关系.学生有目的得学习,借助老师的教导与帮助,而老师不需要同学强制学习,发自内心的去准备课堂.在这种师生关系中,两者无疑都是轻松的.和

【转】几种现代GPS测量方法和技术

随着科技的发展,GPS测量技术和方法也在不断的改进和更新,目前用得最多的GPS测量技术方法有如下几种:静态和快速静态定位,差分GPS,RTK,网络RTK技术等等,下面将逐一介绍: 1.静态与快速静态定位技术 所谓静态定位,就是在进行 GPS 定位时,认为接收机的天线在整个观测进程中的位置是保持不变的.也就是说,在数据处理时,将接收机天线的位置作为一个不随时间的改变而改变的量.在测量 中,静态定位一般用于高精度的测量定位,其具体观测模式是多台接收机在不同的观测站上进行静止同步观测,观察时间有几分钟