#include <iostream>
using namespace std;
int main()
{
int i,j,d=1; //d在此处是一个月的长度
char a[25][55];
cout << "星期一" << "\t";
cout << "星期二" << "\t";
cout << "星期三" << "\t";
cout << "星期四" << "\t";
cout << "星期五" << "\t";
cout << "星期六" << "\t";
cout << "星期日" << "\t";
cout<<endl;
for(i=0;i<25;i++)
{
if(i==0)
{
for(j=0;j<55;j++)
{
a[i][j]='-';
cout<<a[i][j];
}
}
if(i!=0&&i%4==0)
{
for(j=0;j<55;j++)
{
a[i][j]='-';
cout<<a[i][j];
}
}
if(i%2==1)
{
for(j=0;j<55;j++)
{
a[i][j]='\0';
cout<<a[i][j];
}
}
if(i!=0&&i%2==0&&i%4!=0&&d<=31)
{
if(d=1)
{
//因为一月一日是星期日所以先输出了空格
for(j=0;j<51;j++)
{
a[i][j]='\0';
cout<<a[i][j];
}
a[i][j+1]=d;
cout<<a[i][j+1];
d++;
}
else
{
for(j=0;j<55;j++)
{
//平均分了55列,应当在这几个位置输出日期比较美观
if(j==3||j==11||j==19||j==27||j==35||j==43||j==51)
{
a[i][j]=d;
cout<<a[i][j];
d++;
}
else
{
a[i][j]='\0';
cout<<a[i][j];
}
}
}
}
cout<<endl;
}
return 0;
}
(图1)
(图2)
图1是我的代码运行结果,图2是期望效果(颜色那些不用管)