我先指出你程序中的错误(我先把你的注释删掉,否则有点乱),最下面是我修改好的程序(我的编译器输出中文时有点问题,所以改成了简单的英文,望见谅)。#includestdio.hintmain(){inth,l,a[4][4],maxh[4],maxl[4],z[4],n,k;printf(\"请输入数组:\");for(h=1;h=3;h){for(l=1;l=3;l){scanf(\"%d\",a[h][l]);//输入没有取地址符号}}maxh1=a[1][1],maxh2=a[2][1],maxh3=a[3][1];//maxh数组使用错误for(h=1;h=3;h){for(l=1;l=3;l){if(a[h][l]maxh[h]){maxh[h]=a[h][l];z[h]=l;}}}maxl1=a[1][1],maxl2=a[1][2],maxl3=a[1][3];//maxl数组使用错误for(l=1;l=3;l){for(h=1;h=3;h){if(a[h][l]maxl[h])maxl[h]=a[h][l];//maxl应该是存储每一列的最小元素,则不应该是maxl[h],而是maxl[l]}}if(maxh1==maxl[z1])//z数组使用错误,应该是z[1],下同{printf(\"第一行有鞍点:%d\",maxh1);}elseprintf(\"第一行没有鞍点。\");if(maxh2==maxl[z2]){printf(\"第二行有鞍点:%d\",maxh2);}elseprintf(\"第二行没有鞍点。\");if(maxh3==maxl[z3]){printf(\"第三行有鞍点:%d\",maxh3);}elseprintf(\"第三行没有鞍点。\");printf(\"\\n\");return0;}//==================================//这是我修改好的程序//==================================#includestdio.hintmain(){inth,l,a[4][4],maxh[4],maxl[4],z[4],n,k;printf(\"pleaseenter3*3datas\\n\");for(h=1;h=3;h){for(l=1;l=3;l){scanf(\"%d\",}}maxh[1]=a[1][1],maxh[2]=a[2][1],maxh[3]=a[3][1];for(h=1;h=3;h){for(l=1;l=3;l){if(a[h][l]maxh[h]){maxh[h]=a[h][l];z[h]=l;}}}maxl[1]=a[1][1],maxl[2]=a[1][2],maxl[3]=a[1][3];for(l=1;l=3;l){for(h=1;h=3;h){if(a[h][l]maxl[h])maxl[l]=a[h][l];}}if(maxh[1]==maxl[z[1]]){printf(\"1--%d\\n\",maxh[1]);}elseprintf(\"1no\");if(maxh[2]==maxl[z[2]]){printf(\"2--%d\\n\",maxh[2]);}elseprintf(\"2no\\n\");if(maxh[3]==maxl[z[3]]){printf(\"3--%d\\n\",maxh[3]);}elseprintf(\"3no\\n\");printf(\"\\n\");return0;}
|