C语言数组比较:相同位置为1输出0,否则输出距离1的最短距离

本文提供了一个C语言程序,用于比较两个二维数组,实现以下功能:

  • 如果两个数组相同位置的元素都为1,则输出0。- 否则,计算并输出该位置距离值为1的元素的最短距离。

以下是代码实现:c#include <stdio.h>#include <math.h>

int main() { int distance = 0; int arr[2][2] = {{1, 0}, {1, 0}}; int ayy[2][2] = {{1, 0}, {1, 0}};

for (int i = 0; i < 2; i++) {        for (int j = 0; j < 2; j++) {            if (arr[i][j] == 1 && ayy[i][j] == 1) {                printf('0

'); } else { // 计算距离1的最短距离 distance = abs(i - 1) + abs(j - 1); printf('%d ', distance); } } }

return 0;}

代码说明:

  1. 使用两个嵌套循环遍历数组的每个元素。2. 如果 arr[i][j]ayy[i][j] 都等于1,则输出 '0'。3. 否则,使用 abs(i - 1) + abs(j - 1) 计算当前位置距离值为1的元素的最短距离,并将结果输出。

注意:

  • 代码中使用 abs() 函数计算绝对值,确保距离计算的准确性。- 可以根据实际需要修改数组的维度和元素值。

原文地址: https://www.cveoy.top/t/topic/5hm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录