满意答案
chen022479
2014.11.12
采纳率:54% 等级:9
已帮助:214人
1,若程序定义为三行三列的矩阵,并在主函数中键盘赋值。请编写函数juzhen(inta[][3],intn),函数功能是:使矩阵左下角元素中的值乘以.例如:若矩阵中的值为:
197
238
456
n=3,则矩阵值变为:
197
698
121518
注:二维数组下三角元素每行最后元素的列标和该列的列号一致
#include
intjuzhen(inta[][3],intn)
{
inti,j;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)
a[i][j]=a[i][j]*n;
}
main()
{
inti,j,a[3][3],m;
clrscr();
printf("pleaseenter9numbers:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("theoldjuzhenis:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
printf("pleaseenteraintnumber:\n");
scanf("%d",&m);
juzhen(a,m);
printf("thenewjuzhenis:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}
2,请编写函数juzhen,该函数的功能是:将三行四列矩阵x乘以四行三列矩阵y,结果放在三行三列矩阵中。矩阵相乘的基本方法是:矩阵Xy中行列下标分别为i,j的元素的值,是矩阵X中第i行上四个元素与矩阵Y中第j列上四个元素对应相乘的积。
X和Y矩阵原型可运行后看到!
#include
#include
voidjuzhen(inta[3][4],intb[4][3],intab[3][3])
{
inti,j,z;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
for(z=0;z<3;z++)
ab[i][z]=ab[i][z]+a[i][j]*b[j][z];/*此得为要填写的内容*/
}
main()
{
intx[3][4]={1,0,1,1,2,1,0,1,1,2,0,3};
inty[4][3]={1,1,1,0,0,0,2,1,1,1,1,3};
intxy[3][3]={0},i,j;
clrscr();
juzhen(x,y,xy);
printf("xjuzhenis:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%3d",x[i][j]);
printf("\n");
}
printf("yjuzhenis:\n");
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
printf("%3d",y[i][j]);
printf("\n");
}
printf("xyjuzhenis:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%3d",xy[i][j]);
printf("\n");
}
}
由于你没有说要求,我就写了两个,这是两道比较精典的求c语言矩阵乘法程序
00分享举报