1 条题解

  • 0
    @ 2023-6-11 12:20:58

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    int a[110],n,x,c;
    int i;
    int main() {
    	cin>>n;
    	for(i = 0;i < n;i++){
    		cin>>x;
    		if(a[x] == 0) c++;
    		a[x]++;
    	}
    	
    	cout<<c<<endl;
    	for(i = 1;i <= 100;i++){
    		if(a[i] != 0){
    			cout<<i<<" "<<a[i]<<endl;
    		}
    	}
    }
    
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    	
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		int j = 0;
    		int[] a = new int[101];
    		for (int i = 0; i < n ; i++) {
    			int x = sc.nextInt();
    			if(a[x]==0)
    				++j;
    			a[x]++;
    		}
    		System.out.println(j);
    		for(int i = 1 ; i < 101 ; i++)
    		{
    			if(a[i]>0)
    			System.out.println(i+" "+a[i]);
    		}
    	
    	}
    }
    

    Python :

    n = int(input())
    a = input().split()
    t = 0
    k = 0
    # b[1]记录1出现的次数,b[2]记录2出现的次数...b[100]记录100出现的次数,因为b[0]没有用到,所以[0]*101,而不是100
    b = [0] * 101
    # 类型转换,把字符串列表a转换成整型列表a
    for i in range(0, n):
        a[i] = int(a[i])
        k = a[i]
        b[k] += 1
    # 遍历b列表,输出一共的发言人数
    for i in range(1, 101):
        if b[i] > 0:
            t += 1
    # 输出发言人数
    print(t)
    # 再次遍历b列表,输出发言人学号和发言次数,i表示学号,b[i]表示次数
    for i in range(1, 101):
        if b[i] > 0:
            print(i, b[i])
    
    • 1

    信息

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