C语言二维数组变换,01互换

已知一个3*4的二维数组,数组元素只有0和1组成,编程将数组中所有的0变成1,所有的1,变成0,然后打印出来。这个题不会,有没有人解答一下,谢谢。

可以使用两层for循环遍历数组
比如 data[i][j] = abs(data[i][j] - 1)
这样的话0就修改成1,如果是1就修改成0
最后遍历输出就行啦

0变1,1变0
你直接
a[i][j]=1-a[i][j]
就行了

供参考:

#include <stdio.h>
int main(void)
{
    int a[3][4] = { 0,1,0,1,1,0,1,0,1,0,0,1 }, i, j;
    printf("原数组:\n");
    for (i = 0; i < 3; i++, puts("\n"))
        for (j = 0; j < 4; j++) {
            printf("%d ", a[i][j]);
            a[i][j] = !a[i][j];    //取反
        }
    printf("取反后:\n");
    for (i = 0; i < 3; i++, puts("\n"))
        for (j = 0; j < 4; j++)
            printf("%d ", a[i][j]);
    return 0;
}

用循环和判断