网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月23日漏签0天
c语言吧 关注:798,826贴子:4,356,883
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 2回复贴,共1页
<<返回c语言吧
>0< 加载中...

求万年历代码!

  • 只看楼主
  • 收藏

  • 回复
  • 三年orz
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如题求大佬们帮忙TAT


  • 本人电脑菜鸟0
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
xiongdei,以前做的,好像还有点小瑕疵,不过应该不碍事,
#include<stdio.h>
#define true 1
#define false 0
int Isleap(int t)
{
if(t%4==0&&t%100!=0||t%400==0) //判断是否为闰年
{
return true; //返回真或假
}
else
{
return false;
}
}
int Total_day(int a,int b,int c,int& k)
{
int i;
int num=c;
int x1[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int x2[]={31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for(i=0;i<b;i++)
{
if(a==1)
{
if(i>=1)
{
num=num+x1[i-1];
}
k=x1[i]; //记录某个月天数
}
else if(a==0)
{
if(i>=1)
{
num=num+x2[i-1];
}
k=x2[i];
}
}
return num;
}
int Display_week(int y,int m,int d)
{
int week;
if(m>=3&m<=12)
{
week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7;
}else if(m==1||m==2)
{
week=(d+2*(m+12)+3*(m+13)/5+y-1+(y-1)/4-(y-1)/100+(y-1)/400+1)%7;
}
return week; //公式计算星期几,返回0--6的值,对应星期天--星期六
}
int Display_month(int W,int D)
{
int t,x; //W星期天--星期六,数字对应0--6
t=D%7-1; //逆推1号是在星期几
x=W-t;
switch(x)
{
case 7:x=0;break;
case -1:x=6;break;
case -2:x=5;break;
case -3:x=4;break;
case -4:x=3;break;
case -5:x=2;break;
case -6:x=1;break;
}
return x;
}
int main()
{
int Y,M,D,W,flag,Day,x,y,i,j;
printf("please enter year,month,day:");
scanf("%d%d%d",&Y,&M,&D);
flag=Isleap(Y); //@1
if(flag==1)
{
printf("%d年%d月%d日是闰年\n",Y,M,D);
}else if(flag==0)
{
printf("%d年%d月%d日不是闰年\n",Y,M,D);
}
Day=Total_day(flag,M,D,y); //@2
printf("%d年%d月%d日是这一年的第%d天\n",Y,M,D,Day);
W=Display_week(Y,M,D); //@3
switch(W)
{
case 0:printf("%d年%d月%d日是星期天\n",Y,M,D);break;
case 1:printf("%d年%d月%d日是星期一\n",Y,M,D);break;
case 2: printf("%d年%d月%d日是星期二\n",Y,M,D);break;
case 3: printf("%d年%d月%d日是星期三\n",Y,M,D);break;
case 4: printf("%d年%d月%d日是星期四\n",Y,M,D);break;
case 5: printf("%d年%d月%d日是星期五\n",Y,M,D);break;
case 6:printf("%d年%d月%d日是星期六\n",Y,M,D);break;
}
x=Display_month(W,D); //@4
printf("Sun\t");
printf("Mon\t");
printf("Tue\t");
printf("Wed\t");
printf("Thu\t");
printf("Fri\t");
printf("Sat\t\n");
for(i=x;i>0;i--)
{
printf("\t");
}
for(i=1;i<=y;i++)
{
j=j+1;
x=x+1;
printf("%d\t",j);
if(x%7==0)
{
printf("\n");
}
}
}


2025-06-23 17:09:39
广告
  • 挥洒
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <conio.h>
#include <stdio.h>
int main(void)
{
int year, month, week, sum = 1, i;
int a[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d%d", &year, &month);
if ((year % 4 == 0 && year % 100) || (year % 400 == 0))
a[1] = 29;
for (i = 0; i < month - 1; i++)
sum += a[i];
week = ((year - 1) + (year - 1) / 4 - (year - 1) / 100 +
(year - 1) / 400 + sum) %
7;
printf("Sun Mon Tue Wed Thu Fri Sat\n");
gotoxy(4 * week + 2, 3);
for (i = 1; i <= a[month - 1]; i++)
{
printf("%2d", i);
gotoxy(4 * ((i + week) % 7) + 2, (i + week) / 7 + 3);
}
return 0;
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示