| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 451 人关注过本帖
标题:预处理 咋回事??
只看楼主 加入收藏
狂爱编程
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-10-8
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:4 
预处理 咋回事??
               
#include <math.h>
#include <stdio.h>

#define lev(n) (n % 4 == 0 && (n % 100 != 0 || n % 400 == 0))  啥意思?

int main(void)
{
    int y, m, d, i, s;
    int month[2][13] = {
        {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
        {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
    };

    while (scanf("%d/%d/%d", &y, &m, &d) != EOF)
    {
        for (s = 0, i = 1 ; i < m ; i++)
            s += month[lev(y)][i];  啥意思??
        s += d;
        printf("%d\n", s);
    }

    return 0;
}
            
        第三行 和倒数第6行啥意思??
搜索更多相关主题的帖子: include 
2013-10-11 17:15
frognidie
Rank: 1
等 级:新手上路
帖 子:8
专家分:6
注 册:2013-8-12
收藏
得分:3 
求闰年,后面是计算前面一共有多少天
2013-10-11 17:27
梅可伟梅可伟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:69
专家分:180
注 册:2013-3-11
收藏
得分:3 
判断其是否是闰年 如果是闰年 lev(y)=0;否则lev(y)=1;
后面那个是对这年这个月的前面几个月的天数加起来,然后再加上这是这个月的第几天,最后得出今天是今年的第几天

2013-10-11 22:05
a1946794276
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2013-10-11
收藏
得分:3 
第三行:#define lev(n) (n % 4 == 0 && (n % 100 != 0 || n % 400 == 0)) << 編譯的時候會把 lev(n)換成後面那串東西
倒數第六行: s += month[lev(y)][i];  << s += month[(y % 4 == 0 && (y % 100 != 0 || y% 400 == 0)) ][i];
判断其是否是闰年 如果是闰年 lev(y)=0;否则lev(y)=1;
后面那个是对这年这个月的前面几个月的天数加起来,然后再加上这是这个月的第几天,最后得出今天是今年的第几天
2013-10-11 22:22
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:3 
判断其是否是闰年 如果是闰年 lev(y)=1;否则lev(y)=0;
while (scanf("%d/%d/%d", &y, &m, &d) != EOF)//最好改while (scanf("%d%d%d", &y, &m, &d) != EOF)//

[ 本帖最后由 qunxingw 于 2013-10-11 23:36 编辑 ]

www.qunxingw.wang
2013-10-11 22:37
快速回复:预处理 咋回事??
数据加载中...
 
   



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

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