1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; bool compare(int a,int b){ return a > b; } int main(){ int n,a[1010],b[1010],i,j; cin>>n; for(i = 0;i < n;i++){ cin>>a[i]; b[i] = a[i]; } sort(b,b+n,compare); for(i = 0;i < n;i++){ for(j = 0;j < n;j++){ if(a[i] == b[j]){ cout<<j+1<<" "; break; } } } }Pascal :
var a:array[1..100000] of longint; s,i,j,b:longint; begin read(b); for i:=1 to b do read(a[i]); for i:=1 to b do begin for j:=1 to b do if a[j]>a[i] then s:=s+1; write(s+1,' '); s:=0; end; end.Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n,x,s = 0; n = sc.nextInt(); int[] a = new int[n]; int[] b = new int[n]; for(int i = 0;i < n;i++){ a[i] = sc.nextInt(); b[i] = a[i]; } int t; for(int i = 1;i <= n - 1;i++){ for(int j = 0;j <= n - i - 1;j++){ if(a[j] < a[j + 1]){ t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } } //查名次,也就是b[i]在a数组中第一次出现的下标+1 for(int i = 0;i < n;i++){ for(int j = 0;j < n;j++){ if(a[j] == b[i]){ System.out.print(j + 1 + " "); break; } } } } }Python :
n=int(input()) a=input().split() a=list(map(int,a)) b=[] for i in a: b.append(i) a=sorted(a) a.reverse() c=[] for i in b: w=a.index(i) print(w+1,end=" ")
- 1
信息
- ID
- 435
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者