菜鸟求带飞


私信TA

用户名:dotcpp0610279

访问量:1962

签 名:

等  级
排  名 1544
经  验 2712
参赛次数 0
文章发表 8
年  龄 19
在职情况 学生
学  校 哔哩哔哩大学
专  业 计算机科学与技术

  自我简介:

TA的其他文章

解题思路:

1.四周最外侧的像素点灰度值不变;

2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。

3.round()函数是四舍五入(ceil()函数是向上取整,floor()函数是向下取整)



注意事项:

参考代码:

#include<stdio.h>

int main()

{

int n,m,rest=0;

int a[520][520];

scanf("%d %d",&n,&m);

scanf("\n");

for(int i=0;i<n;i++){

    for(int j=0;j<m;j++){

        scanf("%d",&a[i][j]);

    }

    scanf("\n");

}

for(int i=0;i<n;i++){

    for(int j=0;j<m;j++){

        if(i==0||j==0||j==m-1||i==n-1){  //四周最外侧的像素不变,直接输出

            printf("%d ",a[i][j]);

        }

        else{

            rest=round((a[i][j]+a[i-1][j]+a[i+1][j]+a[i][j-1]+a[i][j+1])/5.0);

       printf("%d ",rest);

        }

    }

    printf("\n");

}

return 0;

}


 

0.0分

6 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

n, m = map(int, input().split())
A, B = [], [[0]*m for i in range(n)]
for _ in range(n):
    A.append(list(map(int, input().strip().split())))
for i in range(n):
    for j in range(m):
        if j == 0 or j == m - 1 or i == 0 or i == n-1:
            B[i][j] = A[i][j]
            continue
        w = A[i-1][j]
        a = A[i][j-1]
        s = A[i+1][j]
        d = A[i][j+1]
        B[i][j] = (A[i][j]+w+a+s+d)//5
    print(" ".join(map(str, B[i])))

屌大的帮我看看为啥过不了
2024-03-31 19:05:15
  • «
  • 1
  • »