c语言矩阵运算入门教程,一道初学者的C语言题目 矩阵运算,求解答,万分感谢!...

【问题描述】

对于多个N阶矩阵,依次进行加、减运算。

【输入形式】

从标准输入读取输入。第一行只有一个整数N(1≤N≤10),代表矩阵的阶数。

接下来是一个矩阵,是N行,每行有N个整数(可能是正、负整数),是矩阵的所有元素。

然后一行只含一个字符“+”或“-”,代表加、减操作。

然后用同样的方式输入另一个矩阵。

后续仍然是运算符和矩阵。直至运算符为“#”时停止计算,将结果输出。

【输出形式】

向标准输出打印矩阵的操作结果。输出N行,每行对应矩阵在该行上的所有元素,每一行末均输出一个回车符。每个元素占5个字符宽度(包括负号),向右对齐,不足部分补以空格。

【输入样例】

3

1 -2 7

2 8 -5

3 6 9

+

3 5 7

-1 2 6

3 7 10

-

1 -2 7

2 8 -5

3 6 9

#

【输出样例】

(下图中”-”代表空格)

####3####5####7

###-1####2####6

####3####7###10

【评分标准】

本题不准使用数学库函数。运行时限1秒,完全正确20分,每个测试点4分。提交程序文件名为matrix.c。

下面是我写的,为什么在输入第一个矩阵时就会出现错误呢?

#include

int main()

{

int m,x,p,q,s,t=0;

int a[99],b[99],result[99];

int fun(int a[],int x);

char op;

scanf("%d",&x);

fun(a,x); /*输入一个矩阵*/

for(p=0;p<100;p++)

result[p]=a[p];

scanf("%c",&op); /*输入一个运算符*/

while(op!='#'){

fun(b,x); /*输入一个矩阵*/

if(op=='+'){

for(m=0;m<100;m++)

result[m]=result[m]+b[m];

}

else if(op=='-'){

for(m=0;m<100;m++)

result[m]=result[m]-b[m];

}

scanf("%d",&op); /*输入一个运算符*/

}

for(q=0;q

for(s=0;s<9*t+x;s++){

if(result[s]<0){

printf("###");

printf("%d",result[s]);

}

else{

printf("####");

printf("%d",result[s]);

}

}

t++;

}

return 0;

}

int fun(int a[],int x) /*函数:输入一个矩阵*/

{

int i=0,j,k=0;

for(j=0;j

for(;i<9*k+x;i++)

{

scanf("%d",a[i]);

}

i+=(10-x);

k++;

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值