C语言编程求助
编写一个程序,创建10个从0到100的随机整数数组,并使用冒泡排序进行排序。然后用二分法查找输入数字的索引。...
编写一个程序,创建10个从0到100的随机整数数组,并使用冒泡排序进行排序。然后用二分法查找输入数字的索引。
展开
1个回答
展开全部
#include "stdio.h"
#include <stdlib.h>
#include "time.h"
int main(int argc,char *argv[]){
int randList[10],n,l,r,t,i;
printf(" Input number: ");
scanf("%d",&n);
srand((unsigned)time(NULL));
for(l=0;l<10;randList[l++]=rand()%101);
for(l=0;l<10;l++)
for(r=0;r<9;r++)
if(randList[r]>randList[r+1])
t=randList[r],randList[r]=randList[r+1],randList[r+1]=t;
printf("\tSort array: ");
for(l=0;l<10;printf("%d ",randList[l++]));
l=0,r=9;
while(l<r){
t=(l+r)>>1;
printf("\nBinary Search step: ");
for(i=l;i<=t;printf("%d ",randList[i++]));
if(n==randList[t]){
printf("\n%d is in the randList[%d]!\n",n,t);
break;
}
else
n>randList[t] ? l=t+1 : r=t-1;
}
if(l>=r)
printf("\nNO FOUND!\n",n);
return 0;
}
运行样例:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询