在這個問題中,我正在尋找其總和大于 2 的任何行或列,找到的第一行或列突破回圈并在沒有任何列印號的情況下列印是。該代碼可以很好地列印每行和每列的總和,但它無法定義輸入矩陣是否有任何具有這種質量的行或列。
#include <stdio.h>
int main()
{
int n,m,i,j;
int sum_r,sum_c;
int sw = 0;
scanf("%d%d",&m,&n);
int a [10][10];
for(i=0; i<m; i )
{
for(j=0; j<n; j )
{
scanf("%d",&a[i][j]);
}
}
for(i=0; i<m; i )
{
sum_r = 0;
for(j=0; j<n; j )
{
sum_r = a[i][j];
if(sum_r >= 2)
{
sw = 1;
}
}
}
for(i=0; i<n; i )
{
sum_c = 0;
for(j=0; j<m; j )
{
sum_c = a[j][i];
if (sum_c >= 2)
{
sw = 1;
}
}
}
if (sw = 1) printf("yes");
else printf("no");
return 0;
}
uj5u.com熱心網友回復:
對于初學者來說,這個 if 陳述句中有一個錯字
if (sw = 1) printf("yes");
您必須使用比較運算子==而不是賦值運算子=
if (sw == 1) printf("yes");
或者更簡單
if (sw) printf("yes");
如果我理解正確,那么您需要的是以下內容
for(i=0; !sw && i<m; i )
{
sum_r = 0;
for(j=0; !( sum_r > 2 ) && j<n; j )
{
sum_r = a[i][j];
if(sum_r > 2)
{
sw = 1;
}
}
}
for(i=0; !sw && i<n; i )
{
sum_c = 0;
for(j=0; !( sum_c > 2 ) && j<m; j )
{
sum_c = a[j][i];
if (sum_c > 2)
{
sw = 1;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/407554.html
標籤:
