问题标题: 酷町堂:4849@王子建@刘欣然@龙舟@赵逸凡

0
0
已解决
江齐悦
江齐悦
高级光能
高级光能

怎么写?

4898   数值置换器2

题目描述 Description

在计算机的硬件操作中,有很多地方都会用到数值置换器,具体规则如下:
给定一个M行N列二维数组以及一个参考数值a,将二维数组中所有出现的a清0,请输出经过数值置换器之后的新数组。

输入描述 Input Description

输入为M+1行:
第一行为二维数组的行数M与列数N,以及参考值a,且M与N不超过50;
余下的M行为M行N列的二维数组,每一行之间的元素用单个空格隔开。

输出描述 Output Description

输出为M行N列的二维数组,表示的是经过数值置换器之后的新数组,没一行之间的元素用单个空格隔开。

样例输入 Sample Input

3 3 3 1 2 3 4 1 2 5 3 1

样例输出 Sample Output

1 2 0 4 1 2 5 0 1

数据范围及提示 Data Size & Hint

n,m<=50


0
已采纳
许金夫
许金夫
初级天翼
初级天翼

这道题我也会呀,为啥从来没有人@我。。。

----------------吐槽&正文·分界线------------------

首先输入一个m,n,k
然后正常的输入数组,在输入的时候直接判断是不是k,如果等于k就将它弄成0
最后输出
so easy~

0
黄依成
黄依成
中级天翼
中级天翼

嘿嘿,咋没有艾特我?

思路:遍历数组,如果数组中的元素等于参考值a,赋值为0,最后输出。

for(遍历数组){
        for(遍历数组){
            输入;
            if(如果元素=参考值){
                元素赋值为0;
            }
        }
    }
    for(遍历数组){
        for(遍历数组){
            输出;
        }
    }

 

0
赵逸凡
赵逸凡
初级启示者
初级启示者

输入元素时如果为a输出0否则直接输出,注意换行

PS:不需要遍历数组,直接输出即可,省部分时间

0
王子逸
王子逸
新手天翼
新手天翼

简单,你先for循环输入m*n的二维数组,然后再for循环里加if(a[i][j]==k)  a[i][j]=0;

开始时要加cin>>m>>n>>k;

最后输出就OK了

王子逸在2020-05-10 08:53:53追加了内容

核心如下:

for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            输入>>a[i][j];
            if(a[i][j]==k)
            {
                a[i][j]=0;    
            }

            }
        }
    }

王子逸在2020-05-10 08:55:06追加了内容

最后一个大括号要去掉

我要回答