不悔妹妹
贫民
贫民
  • 最后登录2021-12-09
  • 发帖数3
阅读:9085回复:4

为什么我们学校测试网站上返回10 而不是not found?

楼主#
更多 发布于:2021-12-09 00:24
为什么我们学校测试网站上返回10 而不是not found?



#include <stdio.h>
#include<stdlib.h>

int search(int a[],int n,int key); //n表示数组元素个数,key表示要查找的数据

int main() {
    int i,r,b[10] ,key;
    for ( i = 0; i < 10; i++) {
        scanf("%d",&b[i]);
    }
    scanf("%d",&key);
    r = search(b, 10, key); //函数调用
    if( r != -1 )
        printf("%d\n",r);
    else
        printf("not found\n");
}

int search(int a[],int n,int key) {
    int i = 0;
    for( ; i < n && a[i] != key; i++);
    if (a[i] == key)  return i;
    if ( i == n) return -1;
}
不悔妹妹
贫民
贫民
  • 最后登录2021-12-09
  • 发帖数3
沙发#
发布于:2021-12-09 20:05
问了一下我们老师,说是服务器数据量太大,刚好第十个数是10,所以这样越界了。应该是这样。
doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
板凳#
发布于:2021-12-09 16:36
不悔妹妹:测试数据是1 2 3 4 5 6 7 8 90 10   查找的数是9  按理说是 not found   但是 我们学校OJ上测试结果  10回到原帖
测试返回正常: not found ; 你可以只能换一个思路,看看你们学校系统支持不了哦
知识需要管理,知识需要分享
不悔妹妹
贫民
贫民
  • 最后登录2021-12-09
  • 发帖数3
地板#
发布于:2021-12-09 14:07
doubleyong:测试了一下,没有问题呀,输入了一个没有的数,正常返回了not found ;你的测试数据是什么哦回到原帖
测试数据是1 2 3 4 5 6 7 8 90 10   查找的数是9  按理说是 not found   但是 我们学校OJ上测试结果  10
doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
4楼#
发布于:2021-12-09 10:29
测试了一下,没有问题呀,输入了一个没有的数,正常返回了not found ;你的测试数据是什么哦
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号