首页 > 代码库 > 在相邻元素相差1的数组中查找某一特定元素第一次出现的位置
在相邻元素相差1的数组中查找某一特定元素第一次出现的位置
题目:数组中相邻的每两个数之间的差值是1或-1,给定一个数N,求如何找到第一个N的位置。
如:3,4,3,2,1,2,3,4,3,4,5,6,5 求第一个5所在的位置。
#include <stdio.h>#include <stdlib.h>int main(void){ int a[] = {3,4,3,2,1,2,3,4,3,4,5,6,5}; int i, next, to_search; int len = sizeof(a); int count = 0, found = 0; printf("Please input the number that you want to search: "); scanf("%d",&to_search); for( i=0; i<len; i+=next) { ++count; if( a[i] == to_search ) { found = 1; break; } else next = abs(a[i]-to_search); } printf("Search times: %d\n",count); if( found ) printf("%d is at a[%d]\n",to_search, i); else printf("Not found.\n"); return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。