一个简单的用C++打印2013年日历的算法,对于初学switch语句的同学来说挺不错的,setw是控制输出格式的。
#include<iostream.h>
#include<iomanip.h>
int main()
{
int b,i,j,k,l,m,n,a,c;//i是月份,j是天数,m是首行空格
for(b=1;b<=12;b++)
{
cout<<"请输入月份:";
cin>>i;
cout<<setw(8)<<"周日"<<setw(8)<<"周一"<<setw(8)<<"周二"<<setw(8)<<"周三"; cout<<setw(8)<<"周四"<<setw(8)<<"周五"<<setw(8)<<"周六"<<endl;
switch(i)
{
case 1:{j=31;m=24;}break;
case 3:{j=31;m=48;}break;
case 5:{j=31;m=32;}break;
case 7:{j=31;m=16;}break;
case 8:{j=31;m=40;}break;
case 10:{j=31;m=24;}break;
case 12:{j=31;m=8;}break;
case 4:{j=30;m=16;}break;
case 6:{j=30;m=56;}break;
case 9:{j=30;m=8;}break;
case 11:{j=30;m=48;}break;
default:{j=28;m=48;}
}
n=8;
l=2;
cout<<setw(m)<<1;
if(i!=6)
{for(a=m;a<=56;m=m+n,a=m+n)
cout<<setw(8)<<l++;
cout<<endl;}
else cout<<endl;
for(c=l+7;c<=j;c=c+7)
{for(a=n;a<=56;a=a+n)