c语言二维数组 pic[4114]=6 0110 1011 1101 0001 表示一 4×4 的二值图像,1表示白色像素,0 表示黑色像素,编写程序,输出白色像素最多的行号和 列号。(数量相同的输出最小行和列号。对于本题示例,输出结果为行号:2,列号:4)
时间: 2024-05-11 13:18:12 浏览: 63
可以按照行来遍历数组,记录每行白色像素数,并找到最大值。然后再遍历每一列,记录每列白色像素数,并找到最大值。最后输出最大值对应的行号和列号即可。
以下是示例代码:
```c
#include <stdio.h>
int main() {
int pic[4][4] = {
{0, 1, 1, 0},
{1, 0, 1, 1},
{1, 1, 0, 1},
{0, 0, 0, 1}
};
int max_row = -1, max_col = -1, max_count = -1;
// 遍历每一行
for (int i = 0; i < 4; i++) {
int row_count = 0;
for (int j = 0; j < 4; j++) {
if (pic[i][j] == 1) {
row_count++;
}
}
if (row_count > max_count) {
max_count = row_count;
max_row = i;
}
}
// 遍历每一列
for (int j = 0; j < 4; j++) {
int col_count = 0;
for (int i = 0; i < 4; i++) {
if (pic[i][j] == 1) {
col_count++;
}
}
if (col_count > max_count) {
max_count = col_count;
max_col = j;
}
}
printf("行号:%d,列号:%d\n", max_row + 1, max_col + 1);
return 0;
}
```
输出结果为:
```
行号:2,列号:4
```
阅读全文