即使通过了题目中给出的样例,程序仍然可能存在问题。
比如“三整数排序”问题,下面的代码就能通过样例:20 7 33。
#include<stdio.h>
int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if(a < b && b < c)printf("%d %d %d\n", a, b, c);
if(a < c && c < b)printf("%d %d %d\n", a, c, b);
if(b < a && a < c)printf("%d %d %d\n", b, a, c);
if(b < c && c < a)printf("%d %d %d\n", b, c, a);
if(c < a && a < b)printf("%d %d %d\n", c, a, b);
if(c < b && b < a)printf("%d %d %d\n", c, b, a);
return 0;
}
上述代码的缺陷:输入“111”将得不到任何输出!它没考虑输入的三个数相等的情况。
算法竞赛的目标是编程对任意符合给定条件的输入均得到正确的结果,而不仅是样例数据。