永发信息网

求一个输入年月日,可以显示该月份日历的C语言程序! 求大神帮忙,谢谢!

答案:3  悬赏:60  手机版
解决时间 2021-04-01 01:44
  • 提问者网友:别再叽里呱啦
  • 2021-03-31 20:07
求一个输入年月日,可以显示该月份日历的C语言程序! 求大神帮忙,谢谢!
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-03-31 20:16
#include


int getdate(int y,int m);


int leap(int y);


void print(int y,int m);

int main()
{
    int y,m;
    printf("输入年份和月份:");
    scanf("%d%d",&y,&m);
    print(y,m);
    return 0;
}

int getdate(int y,int m)
{
    int w=(y+(y-1)/4-(y-1)/100+(y-1)/400)%7;
    int days=0;
    switch(m)
    {
        case 12: days+=30;
        case 11: days+=31;
        case 10: days+=30;
        case 9:  days+=31;
        case 8:  days+=31;
        case 7:  days+=30;
        case 6:  days+=31;
        case 5:  days+=30;
        case 4:  days+=31;
        case 3:  if(leap(y)) days+=29;
                 else days+=28;
        case 2:  days+=31;
        case 1:  days+=0;
        }
    w=(w+days)%7;
    return w;     
}

void print(int y,int m)
{
    int w=getdate(y,m);
    printf("%d年%d月的月历表:

",y,m);
    printf("
==========================="
            "========================

");
    int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    if(leap(y)) month[1]=29;

    printf("SUN MON TUE WED THU FRI SAT
");
    int i,j;
    for(i=0;i
    for(i=w,j=1;j<=month[m-1];i++,j++)
    {
        if(i%7==0) printf("
");
        printf("%d ",j);
        }
    printf("

========================"
           "===========================

");
    }

int leap(int y)
{
    if((y%4==0&&y%100!=0)||y%400==0) return 1;
    return 0;
    }
全部回答
  • 1楼网友:舊物识亽
  • 2021-03-31 22:21
这个我会写,可以帮你。追问可以么?谢谢,我写的运行不了! 有好多错误!追答看我头像
  • 2楼网友:洒脱疯子
  • 2021-03-31 21:53
啥平台 啥环境 win-console 还是linux-bash追问visual6.0追答vc6 呃呃 你大一吗 啥学校 还用这么老的IDE 这样吧 等下我打个包发百度云盘里 给你云盘链接的后半部分 你自己去下 前半部分都是一样的但会被度娘屏蔽 你自己填
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯