| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 464 人关注过本帖, 1 人收藏
标题:求助万年历问题
只看楼主 加入收藏
我是肥阿兔
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-6-13
收藏(1)
 问题点数:0 回复次数:1 
求助万年历问题

#include <stdio.h>

int CaculateWeekDay(int year,int month,int day)
{
    int week;
    if(month==1||month==2)
    {
        month+=12;
        year--;
    }
    week=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7+day;
    return week;
}
   
   
int date[12][6][7];
int day_tbl[][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};
main()
{
    int FirstDay,i,j,k,wd=0,day,leap;
    int Year;
    char title[]="SUN MON TUE WED THU FRI SAT";
        
    printf("Please input the year whose calendar you want to know: ");
    scanf("%d",&Year);
        
    FirstDay=CaculateWeekDay(Year,1,1);     
     leap = (Year % 4 == 0) && (Year % 100) || (Year % 400==0);  
 
    for(i=0;i<12;i++)
        for(j=0;j<6;j++)
            for(k=0;k<7;k++)
                date[i][j][k]=0;      
            
    for(i=0;i<12;i++)
    {
        wd = 0;
        for(day=1;day <= day_tbl[leap][i];day++)
        {   
            date[i][wd][FirstDay] = day;
            FirstDay = ++FirstDay % 7;
            if(FirstDay == 0)
                wd++;   
        }
    }

   
    for(i=0;i<12;i++)
    {   
        for(k=0,wd=0;k<7;k++)
            wd+=date[i][5][k];
            wd = wd ? 6 : 5;         
            printf(" %s\n",title);
            for(j=0;j<wd;j++)
            {        
                for(k=0;k<7;k++)
                    if(date[i][j][k])
                        printf("%4d",date[i][j][k]);
                    else printf("    ");
                    printf("\n");
            }
    }
    puts("\n press any key to quit....");
    getchar();
}

这是我编写的万年历  输出时是一次输出一年  需要改成一次输出一排(两个月为一排) 按回车后再显示下一排 直到显示完12个月
如:  1月 2月

      3月 4月  
应该是在第六排修改 求解~~~
搜索更多相关主题的帖子: 万年历 return title 
2011-06-13 16:41
杰仔1997
Rank: 2
来 自:广东
等 级:论坛游民
帖 子:41
专家分:31
注 册:2011-6-2
收藏
得分:0 
嘻嘻,不懂
2011-06-18 12:55
快速回复:求助万年历问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018622 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved