以下是使用c语言实现的一个万年历程序(单排)(for循环实现):
正常int范围内的年份不会出现问题
#include<stdio.h>
#include<Windows.h>
int main()
{
int i,j,year,day1,mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入年份:");
scanf("%d",&year);
if(year%4==0&&year%100!=0||year%400==0)
{
mon[1]=29;
}
day1=(year+(year-1)/4-(year-1)/100+(year-1)/400)%7;
for(j=0;j<12;j++)
{
printf("\n*********************\n%d月\n 日 一 二 三 四 五 六\n",j+1);
for(i=0;i<day1;i++)
{
printf(" ");
}
for(i=1;i<=mon[j];i++)
{
printf("%3d",i);
if((i+day1-1)%7==6)
{
printf("\n");
}
}
day1=(day1+mon[j])%7;
}
system("pause");
}
点击以下链接查看n排万年历
原创文章,禁止转载
本文介绍了一个用C语言编写的万年历程序,通过for循环实现了任意年份的日历展示。程序考虑了闰年和平年的不同,并通过简单的用户输入来显示所选年份的完整日历。

8153

被折叠的 条评论
为什么被折叠?



