您的位置:首页 > 其它

计算某天是一年中的某一天

2014-09-11 21:21 141 查看
#include <stdio.h>

int main(void)

{

    int n=0;int y=0;int r=0;

    int a=31;int b=30;int c=28; int d=29;int e=0;

    int i=0;int k=0;

    int *p[12];

    p[0]=&e; p[1]=&a; p[3]=&a; p[5]=&a; p[7]=&a; p[8]=&a; p[10]=&a;p[12]=&a;

    p[4]=&b; p[6]=&b; p[9]=&b; p[11]=&b;

    printf("输入年份:");

    scanf("%d",&n);

    printf("输入月份:");

    scanf("%d",&y);

    A:    printf("输入日期:");

    scanf("%d",&r);

    if(n%4!=0)

    {

        if(y==2 && r>28)

        {

            printf("平年2月28天\n");

            goto A;

        }

        p[2]=&c;

        for(i=1;i<=y;i++)

        {

            k=k+*p[i-1];

        }

        k=k+r;

    }

    else if(n%100==0)

    {

        if(y==2 && r>29)

        {

            printf("平年2月29天\n");

            goto A;

        }

        if(n%400==0)

        {

            p[2]=&d;

            for(i=1;i<=y;i++)

            {

            k=k+*p[i-1];

            }

        k=k+r;

        }

        else

        {

            if(y==2 && r>28)

            {

                printf("平年2月28天\n");

                goto A;

            }

            p[2]=&c;

            for(i=1;i<=y;i++)

            {

                k=k+*p[i-1];

            }

        k=k+r;

        }

    }

    else

    {

        if(y==2 && r>29)

        {

            printf("润年2月29天\n");

            goto A;

        }

        p[2]=&d;

        for(i=1;i<=y;i++)

        {

            k=k+*p[i-1];

        }

        k=k+r;

    }

    printf("今天是第%d天\n",k);

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐