用C语言写了一个万年历
#include <stdio.h>
void getDate(int year,int month);
void main()
{
int year;//年
int month;//月
char reply;//答复
// system("cls"); 用这句话的话后缀名一定为.C,如果是.CPP的话就会暴错的
printf(" /t+-----------------------------------------------+/n");
printf(" /t|/t/t/t/t/t/t| /n");
printf(" /t|/t/t超级万年历 /t/t/t|/n");
printf(" /t|/t/t/t/t--朱越就造作 /t|/n");
printf(" /t+-----------------------------------------------+/n/n/n");
do{
while(1)
{
printf("/n请输入年份:");
scanf("%d",&year);
if(year>0)
{
break;
}
else
{
printf("/n你输入的年份违法,请重新输入!/n");
}
}
while(1)
{
printf("/n请输入月份:");
scanf("%d",&month);
if(month>0 && month<13 )
{
break;
}
else
{
printf("/n你输入的年份违法,请重新输入!/n");
}
}
getDate(year,month);
printf("你还需要继续吗?<Y ro N>");
fflush(stdin);
scanf("%c",&reply);
if(reply=='N'||reply=='n') break;
}while(1);
}
void getDate(int year,int month)
{
int dayOfMonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int totalDay;//总天数
int nowDay;//今年所用的天数
int m=0;
int j=0;
int k=0;
int week;//本月的一号是星期几
if(year%4==0&&year%100!=0||year%400==0)
{
dayOfMonth[2]=29;
}
//今年用了多少天
nowDay=0;
for(m=0;m<month;m++)
{
nowDay=nowDay+dayOfMonth[m];
}
//公元一年到现在用了多少天
totalDay=nowDay+year*365+year/4-year/100+year/400;
//本月的一号是星期几
week=totalDay%7;
//打印日期表
printf("/n/t%d 年 %d 月/n/n",year,month);
printf("/t日/t一/t二/t三/t四/t五/t六/n");
printf("/t---------------------------------------------------/n/n");
for(j=0;j<week;j++)
{
printf("/t");
}
for(k=1;k<=dayOfMonth[month];k++)
{
if(week==7)
{
printf("/n");
week=0;
}
printf("/t%d ",k);
week++;
}
printf("/n/n");
printf("/t---------------------------------------------------/n/n");
}
void getDate(int year,int month);
void main()
{
int year;//年
int month;//月
char reply;//答复
// system("cls"); 用这句话的话后缀名一定为.C,如果是.CPP的话就会暴错的
printf(" /t+-----------------------------------------------+/n");
printf(" /t|/t/t/t/t/t/t| /n");
printf(" /t|/t/t超级万年历 /t/t/t|/n");
printf(" /t|/t/t/t/t--朱越就造作 /t|/n");
printf(" /t+-----------------------------------------------+/n/n/n");
do{
while(1)
{
printf("/n请输入年份:");
scanf("%d",&year);
if(year>0)
{
break;
}
else
{
printf("/n你输入的年份违法,请重新输入!/n");
}
}
while(1)
{
printf("/n请输入月份:");
scanf("%d",&month);
if(month>0 && month<13 )
{
break;
}
else
{
printf("/n你输入的年份违法,请重新输入!/n");
}
}
getDate(year,month);
printf("你还需要继续吗?<Y ro N>");
fflush(stdin);
scanf("%c",&reply);
if(reply=='N'||reply=='n') break;
}while(1);
}
void getDate(int year,int month)
{
int dayOfMonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int totalDay;//总天数
int nowDay;//今年所用的天数
int m=0;
int j=0;
int k=0;
int week;//本月的一号是星期几
if(year%4==0&&year%100!=0||year%400==0)
{
dayOfMonth[2]=29;
}
//今年用了多少天
nowDay=0;
for(m=0;m<month;m++)
{
nowDay=nowDay+dayOfMonth[m];
}
//公元一年到现在用了多少天
totalDay=nowDay+year*365+year/4-year/100+year/400;
//本月的一号是星期几
week=totalDay%7;
//打印日期表
printf("/n/t%d 年 %d 月/n/n",year,month);
printf("/t日/t一/t二/t三/t四/t五/t六/n");
printf("/t---------------------------------------------------/n/n");
for(j=0;j<week;j++)
{
printf("/t");
}
for(k=1;k<=dayOfMonth[month];k++)
{
if(week==7)
{
printf("/n");
week=0;
}
printf("/t%d ",k);
week++;
}
printf("/n/n");
printf("/t---------------------------------------------------/n/n");
}
【用邮箱推荐给好友】
