永发信息网

设计一个算法,判断一个数是否在数组中存在,如果存在返回在数组中的

答案:2  悬赏:70  手机版
解决时间 2021-01-31 19:19
设计一个算法,判断一个数是否在数组中存在,如果存在返回在数组中的位置,如果不存在将该数插入到数组的合适位置(数组已经排好序)
最佳答案
#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;
}
全部回答

#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是要求换位的下标位置

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
会宁县妇幼保健院-两癌项目检查室怎么去啊,
本田shuttle7座什么时候国产啊,想买一辆
狗吃了仓鼠大便能大到出来吗
【庶】庶加个走字旁是什么字
4到5万二手车,求推荐,年限5年以内
苹果6的隐私保护哪个好用?
目前,我国部分大城市周边出现了一些“睡城”
求助帖,猫猫得了腹水,怎么办
如图是一个正三棱柱的三视图,该柱体的体积为
【气动机械手设计】我要做一个气动机械手的设
如图所示电路,电源电压为4.5V,R1的阻值为5欧,
初一元旦晚会大合唱唱什么流行歌?要新的旧的
声音信号应该放大多少倍?求助
莱蔻这个护肤品好用不,是不是真的,对欺负有
在人的一生中,骨的成分在不同发育阶段中会出
推荐资讯
关爱劳务工基金申请怎么写
我要一篇关于中国人春节传统过法的文章,越简
我和朋友语音聊天,我会听到自己的回音,但是
请教同业竞争和关联交易问题
NBA2K12需要什么插件
关于萎缩性胃窦炎哪些是正确的A.与自身免疫反
美元换人民币怎么算
现代ix35打火开关在哪里
苏州哪个区好找工作
陆树铭一壶老酒是什么电视主题歌
如果手机被木马病毒入侵,存在手机备忘录里面
美国梦之队单场最多赢对手多少分
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?