答应帮朋友去考国二,就复习了一下c语言这本书,然后用c语言写了一个万年历。
控制台的打印如图,有需要的朋友就看看吧。
#include
//判断输入的年份是不是闰年
int isRun(int a){
if(a%4==0&&a0!=0||a@0==0){
//printf("%d是润年",a);
return 0;
}else{
//printf("%d不是闰年",a);
return 1;
}
}
//求出第year年第month月共有多少天
int c_month(int year,int month){
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:return 31;
case 4:
case 6:
case 9:
case 11:return 31;
default:
int bb=isRun(year);
if(!bb){
return 29;
}else{
return 28;
}
}
}
void main(){
//days用来记录天数 weeks表示当前是星期几 result 记录当前年当前月共有多少天
printf("请输入查找的年份\n");
int days=0,year,month,weeks=0,result=0;
scanf("%d",&year);
printf("请输入查找的月份\n");
scanf("%d",&month);
result=c_month(year,month);
//printf("%d年%d月共有%d天",year,month,result);
//记录1900年到当前year-1年共有多少天
for(int i=1900;i
if(!isRun(year)){
days+=366;
}else{
days+=355;
}
}
//求出从当前年1月到month-1月共有多少天
for(int j=1;i
days+=c_month(year,j);
}
//printf("从1900年到%d年%d月共有%d天",year,month-1,days);
//判断当前是星期几
weeks=days%7;
printf("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n");
for(int m=0;m
printf("\t");
}
for(int n=1;n
printf("%d\t",n);
if(!((weeks+n)%7)){
printf("\n");
}
}
}