解题思路:
注意事项:
参考代码
首先提供两个代码
这是有漏洞的代码:
#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语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:590 |
C二级辅导-计负均正 (C语言代码)浏览:652 |
程序员的表白 (C语言代码)浏览:1463 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:783 |
printf基础练习2 (C语言代码)浏览:955 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:941 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:693 |
母牛的故事 (C语言代码)浏览:992 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:900 |
WU-字符串比较 (C++代码)浏览:824 |