| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 921 人关注过本帖
标题:没有语法错误,输出却出错(有关输出日历问题)
取消只看楼主 加入收藏
wwe
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:37
专家分:37
注 册:2009-8-3
结帖率:100%
收藏
 问题点数:0 回复次数:3 
没有语法错误,输出却出错(有关输出日历问题)
main()
{
    int year,month,i,j,a;
    int sum[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    printf("Enter time:");scanf("%d.%d",&year,&month);
    a=(year%100+year%100/4+year/400-2*(year/100)+26*(month+1)/10)%7;
    if((year%4==0&&year%100!=0)||year%400==0) sum[1]=29;
    printf("SUN MON TUE WED THU FRI SAT\n");
    for(j=0;j<a;j++) printf("    ");
    for(i=1;i<=sum[month-1];i++)
     {  
         printf("%-4d",i);
         if((a+i)%7==0) printf("\n");
     }
}
有些月份输出不对,这是怎么回事呀?比如说2009.2  请大家帮忙看一下,谢了!

[ 本帖最后由 wwe 于 2009-12-2 20:48 编辑 ]
搜索更多相关主题的帖子: 输出 日历 语法 
2009-12-02 15:48
wwe
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:37
专家分:37
注 册:2009-8-3
收藏
得分:0 
有谁支支招啥?
2009-12-02 17:03
wwe
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:37
专家分:37
注 册:2009-8-3
收藏
得分:0 
a=(year%100+year%100/4+year/400-2*(year/100)+26*(month+1)/10)%7;
这个公式是用来确定某月一日是星期几的,用 a 来实现开始输出时应该空几格,就是这个样子,a 应该不会越界!
2009-12-02 20:05
wwe
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:37
专家分:37
注 册:2009-8-3
收藏
得分:0 
我是这样想的:
1 确定某年某月有多少天,这月1日是星期几(代码中 a 就是)。
2 根据 a 进行悬空,从1日开始输出,加上 a 在一起达7个就换行。
3 直到输出一个月全部天数。
按照这个算法写的,但输出出错,我找不到错在哪里!
2009-12-02 20:47
快速回复:没有语法错误,输出却出错(有关输出日历问题)
数据加载中...
 
   



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

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