1 solutions

  • 0
    @ 2025-3-3 16:32:50

    C :

    #include <stdio.h>
    
    void main(){
    	int a[100][100],b[100][100];
    	int i,j,n,m,c=0;
    	scanf("%d %d",&n,&m);
    
    	for(i=0;i<n;i++){
    		for(j=0;j<m;j++){
    			scanf("%d",&a[i][j]);
    		}
    	}
    
    	for(i=0;i<n;i++){
    		for(j=0;j<m;j++){
    			scanf("%d",&b[i][j]);
    		}
    	}
    
    	for(i=0;i<n;i++){
    		for(j=0;j<m;j++){
    			if(a[i][j]==b[i][j]){
    				c++;
    			}
    		}
    	}
    
    	printf("%.2f",c*100.0/(n*m));
    }
    

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    
    int main(){
    	int a[110][110],b[110][110];
    	int n,m,i,j,c = 0;//c是计数器
    	cin>>n>>m;
    	for(i = 0;i < n;i++){
    		for(j = 0;j < m;j++){
    			cin>>a[i][j];
    		}
    	}
    	
    	for(i = 0;i < n;i++){
    		for(j = 0;j < m;j++){
    			cin>>b[i][j];
    		}
    	}
    	//求一样的点的数量 
    	for(i = 0;i < n;i++){
    		for(j = 0;j < m;j++){
    			if(a[i][j] == b[i][j]){
    				c++;
    			}
    		}
    	}
    	
    	double r = c * 1.0 / (n * m) * 100;
    	cout<<fixed<<setprecision(2)<<r<<endl;
    	  
        return 0;
    }
    
    

    Python :

    n,m=list(map(int,input().split()))
    a=list()
    b=list()
    for i in range(n):
        a.append(list(map(int,input().split())))
    for i in range(n):
        b.append(list(map(int,input().split())))
    sum=0
    
    for i in range(n):
        for j in range(m):
            if a[i][j]==b[i][j]:
                sum=sum+1
    print("%.2lf"%(100*sum/(n*m)))
    
    
    
    • 1

    Information

    ID
    10403
    Time
    1000ms
    Memory
    16MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By