• 作业-国庆-下一天


    #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("此年是闰年
    ");
        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日,请重新输入
    ");
                    
                    
                    goto next;
                
                
                }
                else
                {
                    printf("输入错误");
                }
             }
               else
             {
                printf("输入错误");
                 }
            }    
        
        else
        {
            printf("此年是平年
    ");
            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
    ",a,b,c);
        if(getchar()=='y')
        { 
        goto next;
    }
        
        
    }

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

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

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

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

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

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

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

    }

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

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

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

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

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

  • 相关阅读:
    centos 安装 TortoiseSVN svn 客户端
    linux 定时任务 日志记录
    centos6.5 安装PHP7.0支持nginx
    linux root 用户 定时任务添加
    composer 一些使用说明
    laravel cookie写入
    laravel composer 安装指定版本以及基本的配置
    mysql 删除重复记录语句
    linux php redis 扩展安装
    linux php 安装 memcache 扩展
  • 原文地址:https://www.cnblogs.com/wxc123/p/5935282.html
Copyright © 2020-2023  润新知