1 条题解
-
0
C :
#include <stdio.h> #include <string.h> int main() { char xm[20][20]; void maopao(char xm[20][20],int bh[]); int zheban(int bh[],int l,int n); int bh[20]; int i,n,l,m; for (i=0;i<10;i++) { scanf("%s",&xm[i]); l=strlen(xm[i]); xm[i][l]='\0'; scanf("%d",&bh[i]); } scanf("%d",&n); maopao(xm,bh); m=zheban(bh,10,n); printf("%s\n",xm[m]); return 0; } void maopao(char xm[20][20],int bh[]) { int i,j,flag,t; char str[20]; for (i=0;i<9;i++) { flag=0; for(j=0;j<9-i;j++) { if (bh[j]>bh[j+1]) { flag=1; t=bh[j]; bh[j]=bh[j+1]; bh[j+1]=t; strcpy(str,xm[j]); strcpy(xm[j],xm[j+1]); strcpy(xm[j+1],str); } } if (flag==0) break; } for (i=0;i<10;i++) printf("%s %d\n",xm[i],bh[i]); } int zheban (int bh[],int l,int n) { int index=-1; int left=0,right=l,mid=(left+right)/2; while (left<=right) { if (n==bh[mid]) { index=mid; break; } else if (n>bh[mid]) { left=mid+1; mid=(left+right)/2; } else { right=mid-1; mid=(left+right)/2; } } return (index); }
C++ :
#include <stdio.h> #include <string.h> int main() { void input(char name[][21], int num[]); void sort(char name[][21], int num[]); void check(char name[][21], int num[], int target, char output[]); char name[10][21], output[21]; int num[10]; int i, target; input(name, num); sort(name, num); for (i = 0;i < 10;i++) printf("%s %d\n", name[i], num[i]); scanf("%d", &target); check(name, num, target, output); puts(output); return 0; } void input(char name[][21], int num[]) { int i; for (i = 0;i < 10;i++) scanf("%s%d", name[i], &num[i]); } void sort(char name[][21], int num[]) { int i, j, temp; char tempname[21]; for (i = 0;i < 10;i++) { for (j = i + 1;j < 10;j++) { if (num[i] > num[j]) { temp = num[i]; num[i] = num[j]; num[j] = temp; strcpy(tempname, name[i]); strcpy(name[i], name[j]); strcpy(name[j], tempname); } } } } void check(char name[][21], int num[], int target, char output[]) { int low, high, mid; low = 0; high = 10; while (low < high) { mid = (low + high) / 2; if (num[mid] < target) low = mid + 1; else high = mid; } strcpy(output, name[low]); }
Java :
import java.util.Arrays; import java.util.Scanner; public class Main { private static Scanner s = new Scanner(System.in) ; public static void main(String[] args) { A a[] = new A[10] ; for (int i = 0; i < 10; i++) { a[i] = new A() ; a[i].name = s.next() ; a[i].num = s.nextInt() ; } int num = s.nextInt() ; Arrays.sort(a); for (int i = 0; i < a.length; i++) { System.out.println(a[i].name+" "+a[i].num); } for (int i = 0; i < a.length; i++) { if(a[i].num==num){ System.out.println(a[i].name); } } } } class A implements Comparable{ String name ; int num ; @Override public int compareTo(Object o) { A a = (A) o ; if(this.num>a.num){ return 1 ; }else if(this.num==a.num){ return 0; }else{ return -1 ; } } }
- 1
信息
- ID
- 1601
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者