您的位置:首页 > 其它

题目1001:A+B for Matrices

2017-01-27 00:05 357 查看
# include <stdio.h>
//这个题的意思是:两个矩阵A,B,相加后得到矩阵C,求C中行或列全为0的总和。。。
int main(void)
{
int a, b;
int c[100];
int number = 0;		//一共要计算几个和矩阵,即最后要输出几个值,这些值放进数组c中

scanf("%d", &a);
while(a != 0)	//数据流以0输入为结尾
{
scanf("%d", &b);
int matrix_1[a][b];
int matrix_2[a][b];
int matrix_3[a][b];		//三个同型矩阵,3为1+2

int i, j;
int count = 0;

for(i=0; i<a; i++)	//输入1矩阵
for(j=0; j<b; j++)
scanf("%d", &matrix_1[i][j]);

for(i=0; i<a; i++)		//输入2矩阵
for(j=0; j<b; j++)
scanf("%d", &matrix_2[i][j]);

for(i=0; i<a; i++)		//计算和矩阵3
for(j=0; j<b; j++)
matrix_3[i][j] = matrix_1[i][j] + matrix_2[i][j];

int row;
for(i=0; i<a; i++)		//计算和矩阵3中全为零的行总数
{
row=0;
for(j=0; j<b; j++)
{
if(matrix_3[i][j] == 0)
row++;
}
if(row == b)
count++;
}

int line;
for(j=0; j<b; j++)		//计算和矩阵3中全为零的列总数
{
line=0;
for(i=0; i<a; i++)
{
if(matrix_3[i][j] == 0)
line++;
}
if(line == a)
count++;
}

c[number] = count;		//count值为一个和矩阵零行与零列的总和,放进数组c中
number++;
scanf("%d", &a);
}

for(int x=0; x<number; x++)		//输出数组c中的count值
printf("%d\n", c[x]);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: