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

\u4e00\u4e2a\u5173\u4e8eC\u8bed\u8a00\u4e2d\u4e8c\u7ef4\u6570\u7ec4\u7684\u95ee\u9898(\u5982\u4f55\u5224\u65ad\u6570\u7ec4\u4e2d\u7684\u6570\u5168\u4e3a1?)

1.
\u4e00\u7ef4\u6570\u7ec4\u5b58\u653e\u76f8\u540c\u7684\u503c,\u4f46\u662f\u5982\u679c\u662f\u77e9\u9635,\u884c\u5217\u5f0f\u7b49\u7c7b\u578b\u7684,\u7528\u4e8c\u7ef4\u7684\u5c31\u6bd4\u8f83\u65b9\u4fbf\u4e86.\u81f3\u4e8e\u5b57\u7b26\u6570\u7ec4,\u53ea\u662f\u8bf4\u660e\u5b83\u91cc\u9762\u5b58\u653e\u7684\u5143\u7d20\u662f\u5b57\u7b26\u800c\u5df2.
2.
\u6ce8\u610f{{1}\uff0c{2}\uff0c{3}}\u91cc\u9762\u76841,2,3\u662f\u6709{}\u7684,\u5728\u672c\u9898\u4e2d\u8868\u793a\u6bcf\u4e00\u884c\u4e2d\u7684\u7b2c\u4e00\u4e2a\u5143\u7d20\u5206\u522b\u4e3a1,2,3.\u5269\u4e0b\u7684\u5143\u7d20\u5982a[1[2],a[2][2]\u7b49\u5c31\u9ed8\u8ba4\u662f0\u4e86.\u800cb[3][3]={4,5,6}\u8fd9\u53ea\u6709\u4e00\u4e2a{}\uff0c\u628a4\uff0c5\uff0c6\u90fd\u5305\u8fdb\u53bb\u4e86\u3002,\u8868\u793ab[0][0],b[0][1],b[0][2]\u5206\u522b\u4e3a4,5,6.\u5269\u4e0b\u7684\u90fd\u4e3a0\u4e86.
3.
strcat(s1,s2)\u662f\u5c06\u7b2c\u4e8c\u4e2a\u5b57\u7b26\u4e32\u590d\u5236\u5230\u7b2c\u4e00\u4e2a\u5b57\u7b26\u4e32\u540e\u9762,\u62fc\u6210\u4e00\u4e2a\u5b57\u7b26\u4e32.\u590d\u5236\u5b8c\u6210\u540e,\u51fd\u6570\u4f1a\u6dfb\u52a0'\0',\u8868\u793a\u5b57\u7b26\u4e32\u7684\u7ed3\u675f.\u6240\u4ee5\u6267\u884c\u5b8cstrcat(s1,s2)\u540e\u5b9e\u9645\u7ed3\u679c\u4e3a123abcde\0.\u7528strlen\u53d6\u957f\u5ea6\uff0c\u81ea\u7136\u5c31\u662f8\u4e86

//\u5047\u8bbea[5][5]
int panduan(int a[][])
{
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(a[i][j]!=1)
return 0;//\u5426,\u8868\u793a\u4efb\u4f55\u4e00\u4e2a\u5143\u7d20\u4e0d\u4e3a1\u5c31\u8fd4\u56de\u5426
}
}
return 1;//\u662f,\u5faa\u73af\u5b8c\u4e86\u5c31\u8868\u793a\u90fd\u4e3a1
}

最直接的办法就是调用函数,将该数组作为实参传递,
然后在函数中定义一个变量flag作为标记,用循环遍历这个二维数组
如果数组元素为1则将flag置为1继续扫描,否则置为0并退出循环
返回flag,flag为1则表示数组元素全为1,否则不全为1

因为在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列的元素。
希望对你有帮助

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

参考:
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;

去出来一一对比

  • C璇█涓,鍏充簬浜岀淮鏁扮粍鐨杈撳叆闂銆
    绛旓細鏁扮粍鏄湪鏍堢┖闂翠笂鍒嗛厤鐨勶紝C榛樿涓嶆敮鎸佸姩鎬佹暟缁勶紝鎵浠ュ鏋滀綘浣跨敤rule_num浣滀负鏁扮粍鐨涓嬫爣瀹氫箟涓涓鏁扮粍鏄細鎶ラ敊鐨勩傚鏋滃笇鏈涗娇鐢ㄥ彉闀挎暟缁勶紝鍙互閲囩敤malloc鍔ㄦ佸垎閰嶃傚彟澶栵紝鏍囧噯鐨凜璇█绋嬪簭瑕佹眰灏嗘墍鏈夌殑鍙橀噺閮藉畾涔夊湪鍑芥暟鐨勫紑澶达紝涔熷氨鏄浣犲皢char鍨嬫暟缁勫啓鍦╳hile寰幆涓繖涓涓啓娉曟湰韬篃鏄湁闂鐨銆傝兘澶熺紪璇戦氳繃...
  • 鍦C璇█涓瀹氫箟浜岀淮鏁扮粍long a[3][5],鍒欐暟缁勫崰澶氬皯瀛楄妭鐨勫瓨鍌ㄧ┖闂?
    绛旓細c璇█涓long鍗4涓瓧鑺傦紝鎵浠onga[3][5]鍗4*3*5=60涓瓧鑺 浠庡厓绱犺搴︾悊瑙浠h〃a[0][0]锛涗粠浜岀淮鏁扮粍鐞嗚Вa浠h〃a浜岀淮鏁扮粍鍚嶏紝鍗充簩缁存暟缁勯鍦板潃锛涗粠涓缁存暟缁勮搴︾悊瑙浠h〃a[0]鍗充簩缁存暟缁勭涓琛岀湅浣涓涓涓缁存暟缁勶紝a[0]涓鸿繖涓竴缁鏁扮粍鐨棣栧湴鍧锛沘[1]浠庝簩缁存暟缁勭湅浠h〃a[1][0]鏄厓绱狅紝浠庝竴缁...
  • c璇█鍏充簬瀹氫箟浜岀淮鏁扮粍鐨勯棶棰
    绛旓細姝ゆ椂杩樺簲璇ユ湁鍑犱釜娌℃湁璧嬪垵鍊鐨勬暟缁鍏冪礌).鑰宎[3][]鐨勬剰鎬濅粠琛ㄩ潰涓婄湅鍙互鎴愮珛,浣闂鏄紪璇戝櫒涓嶈兘鐩存帴璇嗗埆鍏剁浜岀淮鐨纭垏闀垮害(浣犲彲浠ヨ冭檻,濡傛灉鎬荤殑鍒濆间釜鏁颁负2鏃,鍙互璁や负a鐨勭浜岀淮闀垮害涓1,涔熷彲浠ユ槸2,...),杩欐牱灏变細浜х敓閿欒.鎵浠,鍙互a[][4]={*锛*锛*鈥︹杩欐牱瀹氫箟锛岃屼笉鑳藉畾涔塧[3][]...
  • C璇█濡備綍姹涓涓簩缁存暟缁鏈夊嚑琛,杩樻湁涓轰粈涔堜細鎻愮ずgets()鏄竴涓湭瀹...
    绛旓細C璇█涓姹涓涓簩缁存暟缁鏈夊嚑琛岀殑鏂规硶濡備笅锛氬亣璁炬湁瀹氫箟int nums[10][20];浜岀淮鏁扮粍琛屾暟鍙互鐢╯izeof璁$畻锛歳ows = sizeof(nums)/sizeof(nums[0]);绗簩涓闂锛屼负浠涔坓ets浼氭彁绀烘湭瀹氫箟鏍囪瘑锛屾湁涓ょ鍙兘:涓銆佺紪璇戝櫒鏀寔gets搴撳嚱鏁帮紝浣嗘槸浣犳病鏈夊寘鍚ご鏂囦欢#include<stdio.h>锛涗簩銆佺紪璇戝櫒鏈韩涓嶆敮鎸乬ets搴...
  • C璇█闂,浜岀淮鏁扮粍
    绛旓細/ 鍒涘缓涓涓鑰屼负鏁扮粍stu_score[15][7],鍒濆鍖栬緭鍏10涓鐢3闂ㄦ垚缁┿傝姹傦細1銆佽绠楁瘡涓鐢熶笁闂ㄨ鎬绘垚缁╋紝鏀惧叆stu_score[][4]涓;2銆佽绠楁瘡涓鐢熶笁闂ㄨ鐨勫钩鍧囧兼斁鍏tu_score[][5]涓紱3銆佽绠楁瘡涓鐢熶笁闂ㄨ涓嶅強鏍兼暟鐩紝鏀惧叆stu_score[][6]涓紱4銆佽绠楁瘡闂ㄨ鐨勬渶楂樺垎锛屾斁鍏tu_score[11][...
  • C璇█闂 鑻ユ湁璇存槑int a[][4]={1,2,3,4,5,6,7,8,9};,鍒鏁扮粍a绗涓缁
    绛旓細瀹氫箟鏁扮粍骞惰祴鍊兼椂C璇█瑙勫畾涓嬫爣鏄繖鏍风殑锛宎[n]涓殑n涓厓绱犲簲璇ユ槸a[0]...a[n-1]銆傘傚洜姝nt a[][4]鐨勫啓娉曞氨鏄〃绀猴紝绗涓缁村ぇ灏忔病闄愬埗锛屼絾鏄浜岀淮鏁扮粍澶у皬灏辨槸4锛屼篃灏辨槸int a[][4]={{1锛2锛3锛4}锛寋5锛6锛7锛8}锛寋9锛10}}锛屾槑鏄炬槸3銆傚垎鏋愶細浜岀淮鏁扮粍鐨涓缁村ぇ灏忥紝鍗虫寚浜岀淮鏁扮粍...
  • C璇█浜岀淮鏁扮粍闂
    绛旓細scanf("%d",&select); //杩欒涓%d鍓嶉潰涓嶈绌烘牸 scanf("%d",&i); //杩欒涓%d鍓嶉潰涓嶈绌烘牸锛屽悗闈笉瑕乗n scanf("%d",&j); //杩欒涓%d鍓嶉潰涓嶈绌烘牸锛屽悗闈笉瑕乗n scanf("%d%d",&i,&j); //杩欒涓%d鍓嶉潰涓嶈绌烘牸锛屽悗闈笉瑕乗n scanf("%d",&score[i][j]); //杩欒...
  • 鍦C璇█涓,鍐欏嚭浜岀淮鏁扮粍鍏冪礌a[2][3]鍦ㄥ唴瀛樹腑鐨勫瓨鏀鹃『搴
    绛旓細鍦 C 璇█涓锛屼簩缁存暟缁勬槸鐢变竴绯诲垪杩炵画鐨勫唴瀛樹綅缃粍鎴愮殑锛屽叾涓瘡涓厓绱犲崰鐢ㄤ竴涓壒瀹氱殑瀛楄妭鏁般傚浜涓涓簩缁存暟缁 a[2][3]锛屽叾瀛樻斁椤哄簭濡備笅鍥炬墍绀猴細```+---+---+---+ | a[0][0] | a[0][1] | a[0][2] | +---+---+---+ | a[1][0] | a[1][1] | a[1][2] | +...
  • C璇█瀛楃涓浜岀淮鏁扮粍鐢虫槑搴旂敤闂
    绛旓細涓銆乧har (*t)[60]琛ㄧず瀹氫箟浜涓涓鎸囧悜澶у皬60鐨勬暟缁勭殑鎸囬拡t銆倀+1鍦ㄥ唴瀛樹腑璺ㄥ害灏辨槸60涓瓧绗﹀ぇ灏忋俫ettext(text,&i);浼犲弬text 鐩稿綋浜巘=text銆傞偅涔坱锛宼+1锛宼+2鍒嗗埆琛ㄧずtext[40][60]鐨勭1琛岋紝绗2琛岋紝绗3琛屻備簩銆佸0鏄庡鐨勫弬鏁 char [][60] 灏辨槸浜岀淮鏁扮粍銆備紶鍙傝鏁颁笉瀹 鍒楁暟蹇呴』60 ...
  • c璇█浜岀淮鏁扮粍闂姹傝В
    绛旓細c璇█鐨鏁扮粍鍦ㄥ畾涔夋椂鐨勬柟鎷彿閲岀殑鏁板瓧灏辨槸鏁扮粍鐨澶у皬锛屾瘮濡 char ch[100],鏁扮粍澶у皬灏辨槸100锛屼絾鏄鏁扮粍杩涜鎿嶄綔鏃讹紝鏄粠0寮濮嬬殑锛宑h[0],灏辨槸绗涓涓锛宑h[99]鏄100涓傝繖閬撻鐩 int x[2][3],琛ㄧず涓涓2琛3鍒鐨勪簩缁存暟缁锛屾墍浠鏄纭殑 ...
  • 扩展阅读:如何输入一个二维数组 ... c语言二维数组教程 ... 二维数组下标怎么理解 ... c语言二维数组大全 ... 二维数组每一行求和 ... 二维数组每行每列求和 ... 二维数组每列最大值 ... 二维数组c语言初始化 ... c语言怎么放入二维数组 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网