fork download
  1. #include <stdio.h>
  2. #include<stdlib.h>
  3.  
  4. int binary_search(int a[],int n,int x){
  5. int i,ret=-1;
  6. for(i=0;i<n;i++){
  7. if(a[i]==x){
  8. ret=i;
  9. break;
  10. }
  11. }
  12. return ret;
  13. }//探したい数xのインデックス(何番目か)を返す関数
  14.  
  15. int main(void) {
  16. int n,x,i;//配列のサイズn,探したい数x
  17. int *a;
  18. int ans=-1;
  19. scanf("%d %d",&n,&x);
  20. a=(int*)malloc(sizeof(int)*n);
  21. if(a==NULL){printf("ERROR\n");return -1;}//エラー処理
  22. for(i=0;i<n;i++){scanf("%d",&a[i]);}//配列aの値代入
  23. ans=binary_search(a,n,x);
  24. if(ans!=-1)printf("a[%d]=%d\n",ans,a[ans]);//-1以外が返されたら答えとして表示
  25. else printf("not found\n");//-1が返されたらnot foundと表示
  26. free(a);//領域解放
  27. return 0;
  28. }
Success #stdin #stdout 0s 5296KB
stdin
12 5
1 2 3 4 5 8 9 13 16 21 25 27
stdout
a[4]=5