有句俗话“三天打鱼两天晒网”,假设小明从1990年1月1日起开始“三天打鱼两天晒网”,问小王在以后的某一天是在“打鱼”,还是在“晒网”?(键入日期,显示结果打鱼or晒网)。

#include <stdio.h>  
  
int Isleap(int year)  
{  
    if( (year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)) )
{  
        return 1;
}  
    else  
    {
   return 0;
}      
}  
   
int Max_day(int year, int month)  
{  
    int Day[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  
    if(Isleap(year) == 1)  
    {
    Day[1] = 29;
}
  
    return Day[month-1];  
}  
  
int Total_day(int year, int month ,int day)  
{  
    int sum = 0;  
    int i = 1;
  
    for(i = 1;i < month;i++)
{  
    sum = sum+Max_day(year,i);  
    sum = sum+day;
}
  
    return sum;  
}  
   
int Weekday(int year, int month ,int day)  
{  
    int count;
  
    count = (year-1)+(year-1)/4-(year-1)/100+(year-1)/400 +Total_day(year,  month,day);  
    count = count % 7;  
    return count;  
}  
  
void display_week(int year, int month , int day)  
{  
    int count;  
    count = Weekday(year,month,day);  
    switch(count)  
        {  
            case 0:printf("\033[32m\t%d-%d-%d is Sunday\n\033[0m",year,month,day);break;  
            case 1:printf("\033[32m\t%d-%d-%d is Monday\n\033[0m",year,month,day);break;  
            case 2:printf("\033[32m\t%d-%d-%d is Tuesday\n\033[0m",year,    month,day);break;  
            case 3:printf("\033[32m\t%d-%d-%d is Wednesday\n\033[0m",year,  month,day);break;  
            case 4:
printf("\033[32m\t%d-%d-%d is Thursday\n\033[0m",year,      month,day);break;  
            case 5:printf("\033[32m\t%d-%d-%d is Friday\n\033[0m",year,month,day);break;  
            case 6:printf("\033[32m\t%d-%d-%d is Saturday\n\033[0m",year,   month,day);break;  
            defult:system("cls");printf("error\n");  
        }  
}  


void display_month(int year, int month, int day)  
{  
    int i = 0,j = 1;  
    int week,max;  
    week = Weekday(year,month,1);  
    max = Max_day(year,month);  
    printf("\t\t\t\t%d",month);  
    printf("\033[31m\n\tSUN\tMON\tTUE\tWED\tTHU\tFRI\tSAT\n\033[0m");  
    for(i = 0;i < week;i++)  
    printf("\t");  
    for(j = 1;j <= max;j++)  
    {  
        printf("\t%d",j);  
        if(i % 7 == 6)  
            printf("\n");  
        i++;  
    }  
    printf("\n");  
}  
  
  
int main()  
{  
    int year,month,day;  
    printf("\tplease enter year month day: ");  
    scanf("%d%d%d",&year,&month,&day);  
    if(month<1||month>12||day<1||day>31)  
    {  
        printf("error...\n");  
        return -1;  
    }  
    display_week(year,month,day);  
    display_month(year,month,day);  
    return 0;  
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值