u011063451 2013-06-14 05:11
浏览 1508

将日历两个月并排输出

#include <iostream>
#include <iomanip>
using namespace std;
 char *WD="   Sun  Mon  Tue  Wed  Thu  Fri  Sat";
 char *month[12]={"一月","二月","三月","四月","五月","六月","七月","八月","九月", "十月","十一月","十二月"};
 static day[12]={31,28,31,30,31,30,31,31,30,31,30,31};
 int leap(int year);
 int week(int year);
 int main()
 {int i,j,year,date;
 cout<<"请输入年份:";
 cin>>year;
 if(leap(year)) day[1]=29; //确定2月份的日期
 date=week(year);
 cout<<setw(21)<<endl;   //打印年的标题
      for(i=0;i<12;i++)          //控制12个月份的打印,循环12次
      { cout<<endl;
      for(int k=0;k<35;k++) 
         cout<<"     ";
      cout<<endl<<setw(21)<<month[i];
      cout<<endl<<WD<<endl;  //打印星期的标题
      for(k=0;k<date;k++)   //格式控制
          cout<<"     ";

       for(j=1;j<=day[i];j++) //日期打印的控制
      {
          if((j+date)%7==1)
           cout<<endl;
         cout<<setw(5)<<j;
      }
      cout<<endl;
      for(k=0;k<32;k++)   //格式控制
          cout<<" ";
      date=date+day[i]%7;   
      if(date>6)
          date-=7;  }
      cout<<endl;


 }
  int leap(int year)
  {    //该函数确定年份是闰年,或平年
     int leap;
     if(year%400==0||year%100!=0&&year%4==0)
         leap=1;
     else leap=0;
     return leap;
  }

int week(int year)
{    //用于计算年份的1月1日是星期几
  if (year%400==0||year%100!=0&&year%4==0)
   return (year-1+year/4-year/100+year/400)%7;
 else
   return (year+year/4-year/100+year/400)%7;
 }
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 求.net core 几款免费的pdf编辑器
    • ¥20 SQL server表计算问题
    • ¥15 C# P/Invoke的效率问题
    • ¥20 thinkphp适配人大金仓问题
    • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
    • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
    • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
    • ¥15 彩灯控制电路,会的加我QQ1482956179
    • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
    • ¥15 (关键词-电路设计)