6-6 Isleap (5 分)

Test a year if it is leap year or not.

函数接口定义:

int isleap(int year);

裁判测试程序样例:

#include <stdio.h>

int isleap(int year);

/* a year is leap year or not*/
int main()
{
    int year;

    while(scanf("%d", &year) != EOF){
        if(isleap(year)) {
        printf("%d is a leap year\n", year);
    }
    else {
        printf("%d is not a leap year\n", year);
    }
    }

    return 0;
}

/* 请在这里填写答案 */

输入样例:

1990 1991 1992 1993 1994

结尾无空行

输出样例:

1990 is not a leap year
1991 is not a leap year
1992 is a leap year
1993 is not a leap year
1994 is not a leap year

 闰年的判断方法是:1、能被4整除,但不能被100整除; 2、能被400整除

这两条中间关系是或,也就是 ||

我们直接按这个条件打就可以了:

int isleap(int year){
if(year%4==0&&year%100!=0||year%400==0)
    return 1;
    else 
       return  0;
    }

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
首先画出判断闰年的java代码段的流程图如下: ``` +-------+ +-----+ | year%4|---------0---->|leap=|---+ +-------+ +-----+ | | 1 | v | +--------+ yes +--------+ no | |year%100|------->|year%400|---->+ +--------+ +--------+ | 1 | 0 v v +------+ +------+ |leap=F| |leap=T| +------+ +------+ ``` 接下来别使用语句覆盖、判定覆盖和条件覆盖进行测试。 首先是语句覆盖,测试用例表如下: | 测试用例编号 | 测试数据 | 预期结果 | | ------------ | -------- | -------- | | 1 | 2000 | true | | 2 | 2020 | true | | 3 | 1900 | false | | 4 | 1700 | false | 接下来是判定覆盖,测试用例表如下: | 测试用例编号 | 测试数据 | 预期结果 | | ------------ | -------- | -------- | | 1 | 2000 | true | | 2 | 2020 | true | | 3 | 1900 | false | | 4 | 1700 | false | | 5 | 2004 | true | 最后是条件覆盖,测试用例表如下: | 测试用例编号 | 测试数据 | 预期结果 | | ------------ | -------- | -------- | | 1 | 2000 | true | | 2 | 2020 | true | | 3 | 1900 | false | | 4 | 1700 | false | | 5 | 2004 | true | | 6 | 2001 | false | | 7 | 2100 | false | | 8 | 2400 | true | 解释一下,测试用例1-4是普通值测试,测试不同年份是否能正确判断是否为闰年。测试用例5是边界值测试,测试能否正确判断2004年是闰年。测试用例6和测试用例7是边界值测试,测试能否正确判断非闰年的情况。测试用例8是边界值测试,测试能否正确判断闰年的情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值