• 作业-国庆-下一天


    #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的话,就出不去了呢(笑)。

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

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

  • 相关阅读:
    学习网页栅格系统的几篇好文
    [转载]iis6配置使用页面Gzip压缩提速
    img标签的src=""会引起的Page_Load多次执行
    基于sliverlight + wcf的web 文字版IM 示例
    Enterprise Library 4.1学习笔记8缓存应用程序块之FileDependency
    windows 2008上启用防火墙后sqlserver 2005经常出现连接超时的解决办法
    负载均衡环境下的web服务器处理
    Ado.Net连接池的速度测试
    [转载]网页栅格系统研究(1):960的秘密
    css基础:把所有背景图都集成在一张图片上,减少图片服务器请求次数
  • 原文地址:https://www.cnblogs.com/wxc123/p/5935282.html
Copyright © 2020-2023  润新知