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

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

#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 c语言与Python的代码转换
      • ¥15 pyspark编译出错,如何解决?
      • ¥15 关于#java#的问题:nacos客户端有什么方法可以在网络断掉的时候自动读取本地缓存配置文件,网络恢复会自动连接线上的配置
      • ¥50 求ADS做WPC无线充电系统的模型图
      • ¥15 运行WGCNA代码时出现Error in merge$colors : object of type 'closure' is not subsettable
      • ¥15 C#winform 关掉当前界面,返回到上一界面,但不重新创建
      • ¥15 Multisim14.0软件安装
      • ¥15 一块GD32F105芯片的主板。怎么找RXD和TXD串口
      • ¥15 磁盘异常导致工业相机GigE传图卡顿
      • ¥20 python中使用chatgpt为什么一直连接失败