排序+二分

来源:互联网 发布:大数据中学生阅读答案 编辑:程序博客网 时间:2024/06/07 14:26
题目描述
给一个长度为10的 一组无序的整数。

再输入一个整数,如果它在这个数组里,请输出他是这个数组中从小到大第几个数字。

如果不在,请将其插入对应的位置,并输出他是这个新数组中的从小到大第几个数字。

输入
第一行 10个整数

空格隔开

第二行一个整数 表示待查数


输出
一个整数。












#include <stdio.h>
#include <stdlib.h>

void input(int *a)
  
int i,x,n=10;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
while(n>1)
{
for(i=0;i<n;i++)
{
   if (a[i]>a[i+1])
{
x=a[i];
a[i]=a[i+1];
a[i+1]=x;
}
}
n--;
}
 } 

int main() 
{
int a[11];
int i;
input(a);
int c;
scanf("%d",&c);
for(i=0;i<10;i++)
{
if(c<=a[i])
{
printf("%d",i);
break;
}
}
return 0;
}

0 0
原创粉丝点击