首页上一页 1 下一页尾页 1 条记录 1/1页
数组为什么变成了一个
发表在C++图书答疑
2018-01-19 悬赏:1 学分
《C++从入门到精通(第3版)》第8章 构造数据类型
是否精华
是
否
版块置顶:
是
否
#include<stdio.h>
struct index
{
int key;
int start;
int end;
}index[4];
int search(int key,int a[])
{
int i,j;
i=0;
while(i<3 && key>index[i].key)
i++;
if(i>=3)
return -1;
j=index[i].start;
while(j<=index[i].end && a[j]!=key)
j++;
if(j>index[i].end)
j=-1;
return j;
}
void main()
{
int i,j=-1,k,key;
int a[]={42,63,82,89,111,146,219,254,325,336,348,795,876,951,998};
printf("已知有一组数\n");
for(i=0;i<15;i++)
printf("%d",a[i]);
printf("\n");
for(i=0;i<3;i++)
{
index[i].start=j+1;
j=j+1;
index[i].end=j+4;
j=j+4;
index[i].key=a[i];
}
printf("请输入您要查找得数:\n");
scanf("%d",&key);
k=search(key,a);
if(k>=0)
printf("查找成功!你要找的数在数组中的位置是%d\n",k+1);
else
printf("查找失败!您要找的数不再数组中。\n");
}
#include<stdio.h>
求解谢谢