1 条题解
-
0
C :
#include<stdio.h> int main() { int n,a[10],i,b,low,high,mid; for(i=0;i<10;i++) scanf("%d",&a[i]); while(~scanf("%d",&n)) { while(n--) { scanf("%d",&b); low=1;high=9; if(b==a[0]) printf("1\n"); else { while(low<=high) { mid=(low+high)/2; if(a[mid]==b) {printf("%d\n",mid+1);break;} else if(a[mid]>b) high=mid-1; else low=mid+1; } } if(low>high) printf("error\n"); } } return 0; }
C++ :
#include<iostream> using namespace std; int a[15]; int flag; int zb(int n){ int left,right,mid; left = 1; right = 10; //mid = (left + right) / 2; while(left <= right){ int mid = (left + right) / 2; if(a[mid]<n){ left = mid + 1; } else if(a[mid]>n){ right = mid - 1; } else return mid; //cout<<left<<' '<<right<<' '<<mid<<endl; } flag = 0; //cout<<flag<<endl; return -1; } int main(){ for(int i=1;i<11;i++) cin>>a[i]; int n; cin>>n; while(n--){ flag = 1; int m; cin>>m; //cout<<flag<<endl; int x = zb(m); if(!flag) cout<<"error"<<endl; else cout<<x<<endl; } return 0; }
Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] a = new int[10]; for(int i=0;i<10;i++) { a[i] = sc.nextInt(); } int n = sc.nextInt(); int b; for(int i=0;i<n;i++) { b = 0; int c=0; b = sc.nextInt(); for(int j=0;j<10;j++) { if(b == a[j]) { c++; System.out.println(j+1); break; } } if(c==0) { System.out.println("error"); } } } }
- 1
信息
- ID
- 879
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者