c语言随机生成数字排序后找到对应下标

阅读: 评论:0

c语言随机生成数字排序后找到对应下标

c语言随机生成数字排序后找到对应下标

  • 产生20个3位正整数
  • 使用插入法排序
  • 再用二分查找找到输入的数x
  • 输出其下标,找不到输出-1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{int a[20],i,j,x;int key;srand((unsigned)time(NULL));  for(i=0; i<20; i++)//产生三位数[m,n],[100,999]{   //m+rand()%(n-m+1)a[i]=rand()%(999-100+1)+100;}for(i=1; i<20; i++)//插入排序进行升序{key=a[i];j=i-1;while(a[j]>key&&j>=0){a[j+1]=a[j];j--;}a[j+1]=key;}for(i=0; i<20; i++){printf("%d ",a[i]);if((i+1)%5==0)printf("n");}printf("输入一个数:");scanf("%d",&x);int left=0;        //二分查找法int right=19;int mid=0;while(left<=right){   mid=(left+right)/2;if(a[mid]>x) right=mid-1;else if(a[mid]<x) left=mid+1;else if(a[mid]==x){printf("%d",mid);break;}}if(left>right) printf("-1");return 0;
}

本文发布于:2024-02-01 13:07:20,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170676404036808.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:下标   语言   数字
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23