未分类题
阅读以下说明和C++代码,将解答写入对应栏内。
【说明】
请编写一个函数int SeqSearch(int list[],int start,int n,int key),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请修改程序中画线部分的错误并将不同情况下的输出结果补充完整。
【程序】
文件search.cpp的内容如下:
include <iostream. h >
int SeqSearch( int list[ ] ,int start,int n,int key)
{
for(int i=start;i<=n;i++) //(1)
{
if( list[i] = key)//(2)
{
return i;
}
}
return -1;
}
void main( )
{
int A[10]
int key,count=0,pos;
cout <<' Enter a list of 10 integers:';
for(pos=0;pos<10;pos++)
{
cin >>A; //(3)
}
cout <<' Enter a key; ';
cin >> key;
pos=0;
while(( pos = SeqSearch ( A, pos, 10, key)) !=-1 )
{
count ++;
pos ++;
}
cout<<key<<'occurs' <<count<< (count!=1?' times':' time') <<' in the list,'
<< endl;
}
第一种情况:输入2 3 12 6 8 45 8 33 7输入key:8
输出:(4)
第二种情况:输入2 3 126 8 45 8 33 7输入k6y:9
输出:(5)
A.cpp的内容如下:
【参考答案】
(1)for(int i=start;i<n;i++) (2)if(list[i]==key)(3)cin>>A[pos......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)