一个关于C语言中二维数组的问题(如何判断数组中的数全为1?)

,打扰一下,一个关于C语言中二维数组的问题(如何判断数组中的数全为1?)?

定义一个 int a[10][10];
想实现 if(a中的每个元素全为1);
执行xxxx;
else
执行xxxxx;

麻烦高手讲解一下,怎么判断一个二维数组中所有的数都是 1 ???
最新回答
出头

2024-11-06 02:09:44

最直接的办法就是调用函数,将该数组作为实参传递,
然后在函数中定义一个变量flag作为标记,用循环遍历这个
二维数组

如果数组元素为1则将flag置为1继续扫描,否则置为0并退出循环
返回flag,flag为1则表示数组元素全为1,否则不全为1
仲夏柠叶香

2024-11-06 02:10:00

因为在C语言中,数组名的实质是数组的首地址。main函数中调用trmul函数的一句 trmul(a,b,4,5,3,c); 的意思是将数组a b c的首地址作为函数的实参赋予对应的形参
void trmul( a, b, m, n, k, c)
int m, n, k;
double a[], b[], c[];
这里的a b c了。
以第一个数组为例来说明:
在主函数中a是一个二位数组名,及a是一个具有20个元素的二位数组的首地址,调用函数时trmul(a,b,4,5,3,c); 将a的值(20个元素的首地址)作为函数的实参赋予对应的形参 void trmul( a, b, m, n, k, c)
int m, n, k;
double a[], b[], c[];
这里的a 了。因为子函数中的a是一维数组名(实质是指针变量 数组名仍然是数组首地址)所以对主函数中的20个元素,从子函数的角度看就是具有20个元素的一维数组,当然也可以看成4行5列的元素。
希望对你有帮助
冰泪紫茉

2024-11-06 01:07:20

最简单的办法 一个一个遍历。

参考:
bool All_one(array[][])
{
for(int i=0;i<10;++i)
for(int j=0;j<10;++j)
if(array[i][j] != 1)
return false;

return true
}

if(All_one(a));
执行xxxx;
else
执行xxxxx;
纸墨清香

2024-11-06 02:35:20

去出来一一对比