设计一个算法,判断一个数是否在数组中存在,如果存在返回在数组中的
答案:2 悬赏:70 手机版
解决时间 2021-01-31 19:19
- 提问者网友:精神病院里
- 2021-01-31 08:15
设计一个算法,判断一个数是否在数组中存在,如果存在返回在数组中的位置,如果不存在将该数插入到数组的合适位置(数组已经排好序)
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-01-31 09:13
#include
//定义查找方法
int find(int value,int *arr,int count){
for(int i=0;i
if(arr[i]==value){//判断该元素是否是查找的值
return i;//已找到,返回找到该值在数组中的索引
}
}
return -1;//没有找到,返回-1
}
int main(){
int arr[]={16,57,67,88,99,10};//定义查找的数组
//find(查到的元素,查找的数组,数组的长度)
printf("10在数组中的索引是:%d\n",find(10,arr,6));//输出查找结果
printf("67在数组中的索引是:%d\n",find(67,arr,6));
printf("99在数组中的索引是:%d\n",find(99,arr,6));
char c;
scanf("%c",&c);//这句是为了防止控制台退出
return 0;
}
//定义查找方法
int find(int value,int *arr,int count){
for(int i=0;i
return i;//已找到,返回找到该值在数组中的索引
}
}
return -1;//没有找到,返回-1
}
int main(){
int arr[]={16,57,67,88,99,10};//定义查找的数组
//find(查到的元素,查找的数组,数组的长度)
printf("10在数组中的索引是:%d\n",find(10,arr,6));//输出查找结果
printf("67在数组中的索引是:%d\n",find(67,arr,6));
printf("99在数组中的索引是:%d\n",find(99,arr,6));
char c;
scanf("%c",&c);//这句是为了防止控制台退出
return 0;
}
全部回答
- 1楼网友:孤独入客枕
- 2021-01-31 09:35
#include "stdio.h" void hw(int *a,int l,int r,int k) { int t; if(2*k<=r+l-1) { for(int i=k;i>=l;i--) { t=a[i];a[i]=a[r+i-k];a[r-k+i]=t; } if(2*k==r+l-1)return; else hw(a,l,r-k-1+l,k); } else { for(int i=k+1;i<=r;i++) { t=a[i];a[i]=a[l-k-1+i];a[l-k-1+i]=t; } if(2*k==r+l-1)return; else hw(a,r-k+l,r,k); } } void main() { int n,k; scanf("%d %d",&n,&k); int *a=new int[n]; for(int i=0;i<n;i++) a[i]=i+1; if(n>k+1)hw(a,0,n-1,k); for(int j=0;j<n;j++) printf("%d\t",a[j]); printf("\n"); }
//l是低位的下标 //r是高位的下标 //k是要求换位的下标位置
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯