2 条题解

  • 4
    @ 2024-10-4 14:13:25
    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    #include<stdlib.h>
    #include<stdbool.h>
    int main(){
    	int num1[101][101],num2[101][101],m,n;
    	int i,j;
    	scanf("%d%d",&m,&n);
    	for(i=1;i<=m;i++){
    		for(j=1;j<=n;j++){
    			scanf("%d",&num1[i][j]);
    			num2[i][j]=num1[i][j];
    		}
    	}
    	for(i=1;i<=m;i++){
    		for(j=1;j<=n;j++){
    			if(i!=1&&i!=m&&j!=1&&j!=n){
    				num2[i][j]=(int)((num1[i-1][j]+num1[i+1][j]+num1[i][j-1]+num1[i][j+1]+num1[i][j])/5.0+0.5);
    			}
    		}
    	}
    	for(i=1;i<=m;i++){
    		for(j=1;j<=n;j++){
    			printf("%d ",num2[i][j]);
    		}
    		printf("\n");
    	}
    	return 0;//褚子鸣 
    }  
    
    
    • 2
      @ 2025-1-2 16:10:03
      using namespace std;
      int main()
      {
      	const int N = 101;//const 用于定义常量或常变量,被 const 修饰的变量的值在定义后不能被修改 
      	int g[N][N]{};
      	int n=0,m=0;
      	cin>>n>>m;
      	for(int i=1;i<=n;++i)
      	{
      	   for(int j=1;j<=m;++j)
      	   {
      	   	cin>>g[i][j];
      	   }
      		}
      	for(int i=1;i<=n;++i)
      	{
      	   for(int j=1;j<=m;++j)
      	   {
      	   	if(i==1||i==n||j==1||j==m)
      	   	{
      	   		cout<<g[i][j]<<" ";//四周的数不变 
      		   }
      		   else{
      		   	int avg=(g[i][j]+g[i-1][j]+g[i+1][j]+g[i][j-1]+g[i][j+1])/5.0+0.5;
      		   	//该像素点及其上下左右相邻四个像素点(一共5个点)原灰度值的平均(舍入到最接近的整数)
      		   	cout<<avg<<" ";
      		   }
      	   }
      	   cout<<endl;
            }
      	return 0;
      }
      
      //视频解析记得点赞^ - ^ !https://www.bilibili.com/video/BV1BK411174b/?spm_id_from=333.337.search-card.all.click&vd_source=42c02d8f2977de812d87f471f8153d89 
      
      
      • 1

      信息

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