Epsilon LTT 2020-12-30 10:00 采纳率: 100%
浏览 26
已采纳

这个万年历程序该怎么修改呢?

#include <stdio.h>
int Year,Month,Day,week_day;
double Days_interval;//不包括那一月的间隔天数
int main()
{
    printf("请输入年月日:");
    scanf("%d%d%d",&Year,&Month,&Day);
    double Days_Interval();//总天数间隔
    int SX();//生肖;
    int Month_days();//判断那个月有多少天
    int Week_day();//每月1号是星期几
    void print();
    return 0;
}

double Days_Interval()//计算总天数间隔
{
    int year=1900,month=1;
    double Days_Interval=0;
    for(year=1900;year<Year;year++)
    {
        if ((Year % 4 == 0 && Year %100 != 0) || (Year % 400 == 0))
        {
            Days_Interval+=366;
        }
        else
        {
            Days_Interval+=365;
        }
    }
    for(month=1;month<Month;month++)
    {
        switch(month)
        {
        case 1:Days_Interval+=31;break;
        case 2:if((Year % 4 == 0 && Year %100 != 0) || (Year % 400 == 0))
               {
                    Days_Interval+=29;
               }
                else
                {
                    Days_Interval+=28;
                }break;
        case 3:Days_Interval+=31;break;
        case 4:Days_Interval+=30;break;
        case 5:Days_Interval+=31;break;
        case 6:Days_Interval+=30;break;
        case 7:Days_Interval+=31;break;
        case 8:Days_Interval+=31;break;
        case 9:Days_Interval+=30;break;
        case 10:Days_Interval+=31;break;
        case 11:Days_Interval+=30;break;
        case 12:Days_Interval+=31;break;
    }
    Days_interval=Days_Interval;
    Days_Interval+=Day;
}
int Month_days()//判断这个月有多少天
{
    if(Month==2)
    {
        if((Year % 4 == 0 && Year %100 != 0) || (Year % 400 == 0))
            Month_days=29;
        else Month_days=28;
    }
    else if(Month==1||Month==3||Month==5||Month==7||Month==8||Month==10||Month==12)
        Month_days=31;
    else Month_days=30;
    return 0;
}

int Week_day()//计算每月1号是星期几
{
    Days_interval+=1;
    week_day=Days_interval%7;
    return (week_day);
}
int SX()//判断生肖
{
    int x;
    x=(Year-1900)%12;
    switch(x)
    {
    case 0:printf("%d年是鼠年",Year);break;
    case 1:printf("%d年是牛年",Year);break;
    case 2:printf("%d年是虎年",Year);break;
    case 3:printf("%d年是兔年",Year);break;
    case 4:printf("%d年是龙年",Year);break;
    case 5:printf("%d年是蛇年",Year);break;
    case 6:printf("%d年是马年",Year);break;
    case 7:printf("%d年是羊年",Year);break;
    case 8:printf("%d年是猴年",Year);break;
    case 9:printf("%d年是鸡年",Year);break;
    case 10:printf("%d年是狗年",Year);break;
    case 11:printf("%d年是猪年",Year);break;
    }
    return 0;
}
void print()
{
    int i=1;
    print("一    二    三    四    五    六    日    \n");
    for(i=1;i<week_day;i++)
        printf("\t");
    for(i=1;i<Month_days;i++)
    {
        printf("%4d",i);
        week_day++;
        if (week_day%7==0&&i<=Month_days)
        printf("\n");
    }
}
 

 

  • 写回答

8条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 在线教育培训平台,主要以点播视频和在线练习测试为主,除将视频做切片外,有其他哪种方式降低流量?(关键词-带宽速率)
      • ¥20 用c语音或c++实现银行叫号系统
      • ¥15 人工智能 规则正向演绎和推理
      • ¥20 基于STM32F401的电子密码锁设计
      • ¥15 famamacbeth回归中遇到only size-1 arrays can be converted to Python scalars,求解答
      • ¥15 单片机多个自锁按键的编程实践
      • ¥15 用python操作redis存储中文后,再取出的数据变成了乱码怎么办?
      • ¥15 C语言简单排序问题有偿求解
      • ¥20 请问图片的代码什么意思
      • ¥15 coq问题求带,有偿