已知一个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;
}
用循环和判断