jyyeth


私信TA

用户名:jyyeth

访问量:34298

签 名:

C++学的完吗?

等  级
排  名 179
经  验 6663
参赛次数 0
文章发表 47
年  龄 0
在职情况 学生
学  校 徐州工程学院
专  业

  自我简介:

TA的其他文章

参考代码:

#include <iostream>
#include <iomanip>
using namespace std;
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
bool isyear(int year){   //判断是否为闰年,闰年2月份29天。
    if((year%4==0&&year%100!=0)||year%400==0)
        return true;
    else return false;
}
int isday(int year,int month,int a[]){   //判断当月第一天是星期几
    int sum=0;
    if(isyear(year))a[1]=29;
    for(int i=2007;i<year;i++){
        if(isyear(i))sum+=366;
        else sum+=365;
    }
    for(int i=0;i<month-1;i++){
        sum+=a[i];
    }
    int day=sum%7;
    return day;
}
void print(int year,int month,int a[]){
    int t=isday(year,month,a);
    int day;
    cout<<"---------------------"<<endl;
    cout<<" Su Mo Tu We Th Fr Sa"<<endl;
    cout<<"---------------------"<<endl;
    for(int i=0;i<=t;i++)
        cout<<"   ";
    for(int i=1;i<7-t;i++)
        cout<<" "<<right<<setw(2)<<i;
    cout<<endl;
    if(isyear(year)&&month==2)day=28;
    else day=a[month-1];
    int count=0;
    for(int i=7-t;i<=day;i++){
        cout<<" "<<right<<setw(2)<<i;
        count++;
        if(count%7==0)cout<<endl;
    }
    if((day-6+t)%7!=0)cout<<endl;
    cout<<"---------------------"<<endl;
}
int main()
{
    int year,month;
    cin>>year>>month;
    print(year,month,a);
    return 0;
}



 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区