c语言,在主函数中输入3×3的矩阵ab和c,编写三个函数分别计算c=a+b,c=a-b,c=a*b
c语言,在主函数中输入3×3的矩阵ab和c,编写三个函数分别计算c=a+b,c=a-b,c=a*b并将计算结果返回主函数输出。。。用指针写调试正确给100,万分感谢...
c语言,在主函数中输入3×3的矩阵ab和c,编写三个函数分别计算c=a+b,c=a-b,c=a*b并将计算结果返回主函数输出。。。用指针写
调试正确给100,万分感谢 展开
调试正确给100,万分感谢 展开
3个回答
展开全部
#include <stdio.h>
int main(void)
{
void output(int num[][3]);
int i, j;
int a[3][3], b[3][3], c[3][3];
puts("请输入矩阵a : ");
for (i = 0; i < 3; ++i)
{
for (j = 0; j < 3; ++j)
scanf("%d", a[i] + j);
}
puts("请输入矩阵b : ");
for (i = 0; i < 3; ++i)
{
for (j = 0; j < 3; ++j)
scanf("%d", b[i] + j);
}
puts("a+b : ");
for (i = 0; i < 3; ++i)
{
for (j = 0; j < 3; ++j)
c[i][j] = a[i][j] + b[i][j];
}
output(c);
puts("a-b : ");
for (i = 0; i < 3; ++i)
{
for (j = 0; j < 3; ++j)
c[i][j] = a[i][j] - b[i][j];
}
output(c);
puts("a*b : ");
for (i = 0; i < 3; ++i)
{
for (j = 0; j < 3; ++j)
c[i][j] = a[i][j] * b[i][j];
}
output(c);
return 0;
}
void output(int num[][3])
{
int i, j;
for (i = 0; i < 3; ++i)
{
for (j = 0; j < 3; ++j)
printf("%-5d", num[i][j]);
putchar('\n');
}
}
展开全部
#include<stdio.h>
void asum(double a[3][3],double b[3][3],double c[3][3])
{ int i,j; for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) c[i][j]=a[i][j]+b[i][j];
}
void asub(double a[3][3],double b[3][3],double c[3][3])
{ int i,j; for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) c[i][j]=a[i][j]-b[i][j];
}
void amul(double a[3][3],double b[3][3],double c[3][3])
{ int i,j; for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) c[i][j]=a[i][j]*b[i][j];
}
void main()
{ double a[3][3],b[3][3],c[3][3];
int i,j;
for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) scanf("%lf",&a[i][j]);
for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) scanf("%lf",&b[i][j]);
printf("c=a+b\n");
asum(a,b,c); for ( i=0;i<3;i++,printf("\n") ) for ( j=0;j<3;j++ ) printf("%16lf",c[i][j]);
printf("c=a-b\n");
asub(a,b,c); for ( i=0;i<3;i++,printf("\n") ) for ( j=0;j<3;j++ ) printf("%16lf",c[i][j]);
printf("c=a*b\n");
amul(a,b,c); for ( i=0;i<3;i++,printf("\n") ) for ( j=0;j<3;j++ ) printf("%16lf",c[i][j]);
}
void asum(double a[3][3],double b[3][3],double c[3][3])
{ int i,j; for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) c[i][j]=a[i][j]+b[i][j];
}
void asub(double a[3][3],double b[3][3],double c[3][3])
{ int i,j; for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) c[i][j]=a[i][j]-b[i][j];
}
void amul(double a[3][3],double b[3][3],double c[3][3])
{ int i,j; for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) c[i][j]=a[i][j]*b[i][j];
}
void main()
{ double a[3][3],b[3][3],c[3][3];
int i,j;
for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) scanf("%lf",&a[i][j]);
for ( i=0;i<3;i++ ) for ( j=0;j<3;j++ ) scanf("%lf",&b[i][j]);
printf("c=a+b\n");
asum(a,b,c); for ( i=0;i<3;i++,printf("\n") ) for ( j=0;j<3;j++ ) printf("%16lf",c[i][j]);
printf("c=a-b\n");
asub(a,b,c); for ( i=0;i<3;i++,printf("\n") ) for ( j=0;j<3;j++ ) printf("%16lf",c[i][j]);
printf("c=a*b\n");
amul(a,b,c); for ( i=0;i<3;i++,printf("\n") ) for ( j=0;j<3;j++ ) printf("%16lf",c[i][j]);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a、b、c都是3*3的矩阵么?
追问
是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询