C语言数组比较:相同位置为1输出0,否则输出距离1的最短距离
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;}
代码说明:
- 使用两个嵌套循环遍历数组的每个元素。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 著作权归作者所有。请勿转载和采集!