发布网友 发布时间:2024-10-24 09:33
共2个回答
热心网友 时间:4分钟前
C的话可以这么写——
代码文本:
#include "stdio.h"
int main(int argc,char *argv[]){
int a[10],i,j,k,r,l,m;
printf("Enter 10 integers...\n");
for(i=0;i<10;scanf("%d",a+i++));//输入10个整数
for(i=0;i<10;i++){//由大到小排序并输出
for(k=i,j=k+1;j<10;j++)
if(a[k]<a[j])
k=j;
if(k-i)
j=a[k],a[k]=a[i],a[i]=j;
printf("%d ",a[i]);
}
printf("\nEnter a number...\nk=");
scanf("%d",&k);//输入要查找的数
l=0,r=9;//以下二分查找
while(m=(l+r)>>1,l<r && a[m]-k)
a[m]>k ? l=m+1 : r=m-1;
if(a[m]==k)
printf("%d is in a[%d].\n",a[m],m);
else
printf("No find %d...\n",k);
return 0;
}
热心网友 时间:3分钟前
用java的scanner类来通过控制台输入10个数,存入数组中,循环排序,在输入一个数,循环数组,二分法,判断中间的数和输入的数哪个大,大就往前再比,小就往后再比