1 条题解

  • 0
    @ 2025-2-14 20:50:07

    C :

    #include <stdio.h>
    int main()
    {
      int a[10], i, n;
      for(i = 0; i < 10; i ++)
        scanf("%d", &a[i]);
      scanf("%d", &n);
      for(;;)
      {
        if(n == a[4])
    	{
          printf("4\n");
          break;
    	}
        if(n > a[4])
    	{
          for(i = 5; i < 10; i ++)
        {
          if(n == a[i])
    	  {
            printf("%d\n", i);
    		break;
    	  }
          if(i == 9)
            printf("Not exist!\n");
        }
    	}
        if(n < a[4])
    	{
          for(i = 3; i >= 0 ; i --)
        {
          if(n == a[i])
    	  {
            printf("%d\n", i);
    		break;
    	  }
          if(i == 0)
            printf("Not exist!\n");
        }
    	}
    	break;
      }
      return 0;
    }
    

    C++ :

    #include<iostream>
    using namespace std;
    int main()
    {
    	int a[10],key;
    	for (int i=0; i<10; i++) cin>>a[i];
    	cin>>key;
    	int low=0,high=9,mid,ans=-1;
    	while (low<=high)
    	{
    		mid=(low+high)/2;				//折半
    		if (key<a[mid]) high=mid-1;		//在前面
    		else if (key>a[mid]) low=mid+1;	//在后面
    		else							//查到
    		{
    			ans=mid;
    			break;
    		}
    	}
    	if (ans==-1) cout<<"Not exist!"<<endl;
    	else cout<<ans<<endl;
    	return 0;
    }
    
    • 1

    信息

    ID
    419
    时间
    1000ms
    内存
    12MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者