解题思路:
注意事项:
参考代码
首先提供两个代码
这是有漏洞的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0,a[24]= {0};
int m,j=0;
for(i; i<9; i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=0; i<9; i++)
{
if(a[i]<=m && m<=a[i+1])
{
printf("%d\n%d\n",a[i],m);
j=1;
}
else
{
printf("%d\n",a[i]);
}
}
if(j==0)
printf("%d\n",m);
}
这是正确的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0,a[24]= {0};
int m,j=0;
for(i; i<9; i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
if(m<=a[0])
{
printf("%d\n",m);
j=1;
}
for(i=0; i<9; i++)
{
if(a[i]<=m && m<=a[i+1])
{
printf("%d\n%d\n",a[i],m);
j=1;
}
else
{
printf("%d\n",a[i]);
}
}
if(j==0)
printf("%d\n",m);
}
容易发现,其实就是做了简单一些改动,把一种比较特殊的情况考虑进去了:当要插入的数比数组元素都要小时,
利用有漏洞的代码进行测试,发现能够通过,说明测试用例里边没有这种情况,希望官方能够对测试用例做出一定的修改。
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.7 (C++代码)(经常这样写会不会被打死)浏览:2501 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:536 |
矩形面积交 (Java代码)浏览:1209 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:888 |
打水问题 (C语言代码)浏览:1055 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:652 |
众数问题 (C语言代码)浏览:820 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:597 |
幸运数 (C++代码)浏览:1256 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:520 |