zoukankan      html  css  js  c++  java
  • 打印日历

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

    代码:

    #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
  • 相关阅读:
    Java字符串(String类)
    Java异常处理
    Scanner使用方法
    OOP之重载
    构造函数和析构函数
    类、对象、方法
    函数
    数组
    ahk之路:利用ahk在window7下实现窗口置顶
    指针的问题
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/3256511.html
Copyright © 2011-2022 走看看