• 打印日历


    要求:输入年份和月份,打印出日历

    代码:

    #include<stdio.h>
    int f(int m,int n)
    {
        int i,j,k,s=0,t;
        for(i=1;i<=m-1;i++)
            if(i%400==0||(i%4==0&&i%100!=0))
            s++;
        int sum=366*s+(m-1-s)*365;
        if(m%400==0||m%4==0&&m%100!=0)
        {
            int su=0;
            for(i=1;i<=n-1;i++)
            {
                if(i==2)su=su+29;
                else if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
                    su=su+31;
                else su=su+30;
            }
            return (sum+su+1)%7;
        }
        else
        {
            int su=0;
            for(i=1;i<=n-1;i++)
            {
                if(i==2)su=su+28;
                else if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
                    su=su+31;
                else su=su+30;
            }
            return (sum+su+1)%7;
        }
    }
    int main()
    {
        int m,n;
        while(printf("请输入年份和月份(中间用空格隔开):
    ")&&scanf("%d%d",&m,&n)!=EOF)
        {
            int i,j,k,s,t;
            printf("%12d年日历
            ----------
            ----------
    %12d月
    ",m,n);
            printf("日  一  二  三  四  五  六
    ");
            printf("--------------------------
    ");
            if(m%400==0||m%4==0&&m%100!=0)
            {
                t=f(m,n);
                int ts=t;
                if(n==1||n==3||n==7||n==8||n==10||n==12)
                {
                    for(i=1;i<=t;i++)
                {
                    for(j=1;j<=4;j++)
                        printf(" ");
                }
                for(i=1;i<=31;i++)
                {
                    printf("%-4d",i);
                    ts++;
                    if(ts%7==0)
                        printf("
    ");
                }
                if(ts%7==0)
                printf("--------------------------
    ");
                else
                printf("
    --------------------------
    ");
                }
               else  if(n==2)
                {
                   for(i=1;i<=t;i++)
                {
                    for(j=1;j<=4;j++)
                        printf(" ");
                }
                for(i=1;i<=29;i++)
                {
                    printf("%-4d",i);
                    ts++;
                    if(ts%7==0)
                        printf("
    ");
                }
                if(ts%7==0)
                printf("--------------------------
    ");
                else
                printf("
    --------------------------
    ");
                }
                else
                {
                    for(i=1;i<=t;i++)
                    for(j=1;j<=4;j++)
                        printf(" ");
                for(i=1;i<=30;i++)
                {
                    printf("%-4d",i);
                    ts++;
                    if(ts%7==0)
                        printf("
    ");
                }
                if(ts%7==0)
                printf("--------------------------
    ");
                else
                printf("
    --------------------------
    ");
                }
            }
            else
            {
                t=f(m,n);
                int ts=t;
                if(n==1||n==3||n==7||n==8||n==10||n==12)
                {
                    for(i=1;i<=t;i++)
                {
                    for(j=1;j<=4;j++)
                        printf(" ");
                }
                for(i=1;i<=31;i++)
                {
                    printf("%-4d",i);
                    ts++;
                    if(ts%7==0)
                        printf("
    ");
                }
                if(ts%7==0)
                printf("--------------------------
    ");
                else
                printf("
    --------------------------
    ");
                }
               else  if(n==2)
                {
                   for(i=1;i<=t;i++)
                {
                    for(j=1;j<=4;j++)
                        printf(" ");
                }
                for(i=1;i<=28;i++)
                {
                    printf("%-4d",i);
                    ts++;
                    if(ts%7==0)
                        printf("
    ");
                }
                if(ts%7==0)
                printf("--------------------------
    ");
                else
                printf("
    --------------------------
    ");
                }
                else
                {
                    for(i=1;i<=t;i++)
                    for(j=1;j<=4;j++)
                        printf(" ");
                for(i=1;i<=30;i++)
                {
                    printf("%-4d",i);
                    ts++;
                    if(ts%7==0)
                        printf("
    ");
                }
                if(ts%7==0)
                printf("--------------------------
    ");
                else
                printf("
    --------------------------
    ");
                }
            }
        }
    }
    View Code
  • 相关阅读:
    SDK Manager.exe和AVD Manager.exe缺失,Android SDK Tools在检查java环境时卡住了,未响应卡死!
    GetLastError结果列表
    VS2008 远程调试器未成功安装,没法使用?
    远程桌面连接无法相互拷贝文件了?
    VS2008编译错误:error C2065: 'PMIB_TCPSTATS' : undeclared identifier c:program files (x86)microsoft sdkswindowsv7.0aincludeiphlpapi.h 411
    C++ 保存Excel文件(带密码保护)
    UTF8与std:string互转
    将windbg设置为默认调试器命令
    VC++ 链接错误LINK : fatal error LNK1104: cannot open file "*.lib"
    IAP升级程序中Bootloader和APP程序中断复用的解决办法
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/3256511.html
Copyright © 2020-2023  润新知