PAT初步--测试

黑盒测试

刷题网站常用的是黑河测试,系统后台准备若干组输入数据,让提交程序取运行这些数据,看输出的结果是否与正确答案完全相同

黑盒测试分为单点测试和多点测试

单点测试

系统判断每组数据的输出结果是否正确,正确则该组数据通过测试,用户可获得该组数据的分值。

#include<stdio.h>
int main(){
    int a,b;
    // 这里推荐如果输入是 1空格2这样的形式,scanf也保持 %d空格%d的格式,逗号之类的同理,保持一致。怕出现不必要的问题。我用vscode写代码遇到过这些问题!
    scanf("%d %d",&a,&b);
    printf("%d===%d",a,b);
}

多点测试

要求程序一次性运行所有的数据,所有输出结果完全正确这次才算通过;只要有一组数据输出错误,得分都是0分。PTA平台用的单点测试!

多点测试代码模板

void fn2(){
    int a, b;
    // 获取输入结束时(就是读不到数据,读入数据失败),scanf会返回EOF。EOF是一个数值
    // scanf("%d %d", &a, &b)成功读入两个数据会返回2.读入失败时会返回-1,C语言中用EOF表示-1
    while (scanf("%d %d", &a, &b) != EOF){
        // 处理数据
        printf("%d %d", a, b);
    }
}

//关于EOF的测试
int main()
{
    printf("%d", EOF);
}

PS:正常我们写代码,在控制台输入数据是不会触发EOF的,可以用快捷键ctrl+Z,控制台出现^Z然后按回车的方式触发。不过我习惯直接Ctrl+C终止程序。

参考书籍:算法笔记

posted @ 2020-03-27 12:48  Payphone  阅读(508)  评论(0编辑  收藏  举报