怎样用顺序查找的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 18:25:21
#include <stdio.h>
#include<iostream>
int Orderedsearch(int r[],int n,int key)
{
int i=0;
while (i<n && r[i]!=key) i++;
if (i>=n)
return(-1);
else
return(i);

}
void main()
{
int r[6]={3,5,6,8,9,11};
int n=6;
int key;
printf("%d\n",OrderedSearch(r,n,3));
}
这样写错在哪里呢?
我想写一个在数组中输入关键字查出关键字是第几个的小程序
请高手们帮帮忙啦
谢谢大家

你的程序我运行了。有两个地方需要改:①#include<iostream> 是C++语言中的头文件,你用TC编译是通不过的。把它去掉就行了。
②你定义函数 Orderedsearch时s是小写。而你调用这个函数时用的是大写S,C语言是区分大小写的。把大写S改成小写s就可以了。
另外你定义了key,为什么不用int key=3;呢?调用时直接写Orderedsearch(r,n,key)多好。当然这不是错误。只是想给你说一下。
你改后再试试。一定没问题了。

#include <stdio.h>
#include<iostream.h> //不改也可以
int Orderedsearch(int r[],int n,int key)
{
int i=0;
while (i<n && r[i]!=key) i++;
if (i>=n)
return(-1);
else
return(i);

}
void main()
{
int r[6]={3,5,6,8,9,11};
int n=6;
int key; //有点多余
printf("%d\n",Orderedsearch(r,n,9));
}

printf("%d\n",OrderedSearch(r,n,3));
注意大小写!Orderedsearch