求一道c语言的编程题
用c语言写一个函数,此函数能将求出两个方阵的乘积。要答案,我用的是手机,没法追问,请回答详细点,谢谢...
用c语言写一个函数,此函数能将求出两个方阵的乘积。
要答案,我用的是手机,没法追问,请回答详细点,谢谢 展开
要答案,我用的是手机,没法追问,请回答详细点,谢谢 展开
4个回答
展开全部
应你的要求,代码给!!!:
#include <stdio.h>
fun1(int c)
{
int f1[80][80],f2[80][80];/*方阵的实体*/
int a,b;/*循环计数用的*/
int x;/*选择自动输入数据还是手动输入*/
int p1=1,p2=100; /*方阵自动赋值用的*/
printf("请输入选择命令:");
printf("1是自动给方阵赋值\n");
printf("0是手动赋值\n");
scanf("%d",&x);
switch(x)
{
case 1:
for(a=0;a<c;a++)
{
for(b=0;b<c;b++)
{ /*赋值*/
f1[a][b]=p1;
f2[a][b]=p2;
p1++;p2--;
printf("一");
printf("%d ",f1[a][b]);
printf("二");
printf("%d ",f2[a][b]);/*赋值完直接输出省循环体的使用*/
}
printf("\n"); /*换行形成方块状*/
}
for(a=0;a<c;a++)
{
for(b=0;b<c;b++)
{
f1[a][b]=f1[a][b]*f2[a][b]; /*用f1承接方块的乘积节省数组的使用*/
printf("%d ",f1[a][b]);
}
printf("\n"); /*换行形成方块状*/
}
break;
case 0:
for(a=0;a<c;a++)
{
for(b=0;b<c;b++)
{ /*赋值*/
scanf("%d",&f1[a][b]);
scanf("%d",&f2[a][b]);printf("一");
printf("%d ",f1[a][b]);printf("二");printf("%d ",f2[a][b]);
}
printf("\n"); /*换行形成方块状*/
}
for(a=0;a<c;a++)
{
for(b=0;b<c;b++)
{
f1[a][b]=f1[a][b]*f2[a][b]; /*用f1承接方块的乘积节省数组的使用*/
printf("%d ",f1[a][b]);
}
printf("\n"); /*换行形成方块状*/
}
break;
default:
printf("请看说明操作\n");
}
}
void main()
{
int d;/*方阵大小的选择*/
printf("请输入两个方阵的大小 X*X,(两个方阵是相等的),方阵大小不能大于80!\n");
scanf("%d",&d);
if(d<80 && d>0)
{
fun1(d);
}
else{
printf("请看提示输入\n");
}
}
#include <stdio.h>
fun1(int c)
{
int f1[80][80],f2[80][80];/*方阵的实体*/
int a,b;/*循环计数用的*/
int x;/*选择自动输入数据还是手动输入*/
int p1=1,p2=100; /*方阵自动赋值用的*/
printf("请输入选择命令:");
printf("1是自动给方阵赋值\n");
printf("0是手动赋值\n");
scanf("%d",&x);
switch(x)
{
case 1:
for(a=0;a<c;a++)
{
for(b=0;b<c;b++)
{ /*赋值*/
f1[a][b]=p1;
f2[a][b]=p2;
p1++;p2--;
printf("一");
printf("%d ",f1[a][b]);
printf("二");
printf("%d ",f2[a][b]);/*赋值完直接输出省循环体的使用*/
}
printf("\n"); /*换行形成方块状*/
}
for(a=0;a<c;a++)
{
for(b=0;b<c;b++)
{
f1[a][b]=f1[a][b]*f2[a][b]; /*用f1承接方块的乘积节省数组的使用*/
printf("%d ",f1[a][b]);
}
printf("\n"); /*换行形成方块状*/
}
break;
case 0:
for(a=0;a<c;a++)
{
for(b=0;b<c;b++)
{ /*赋值*/
scanf("%d",&f1[a][b]);
scanf("%d",&f2[a][b]);printf("一");
printf("%d ",f1[a][b]);printf("二");printf("%d ",f2[a][b]);
}
printf("\n"); /*换行形成方块状*/
}
for(a=0;a<c;a++)
{
for(b=0;b<c;b++)
{
f1[a][b]=f1[a][b]*f2[a][b]; /*用f1承接方块的乘积节省数组的使用*/
printf("%d ",f1[a][b]);
}
printf("\n"); /*换行形成方块状*/
}
break;
default:
printf("请看说明操作\n");
}
}
void main()
{
int d;/*方阵大小的选择*/
printf("请输入两个方阵的大小 X*X,(两个方阵是相等的),方阵大小不能大于80!\n");
scanf("%d",&d);
if(d<80 && d>0)
{
fun1(d);
}
else{
printf("请看提示输入\n");
}
}
展开全部
这个是5X5的矩阵
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
{for(k=0;k<5;k++) c[i][j]+=a[i][k]*b[k][j]; }
}
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
{for(k=0;k<5;k++) c[i][j]+=a[i][k]*b[k][j]; }
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
搞定了吗 没搞定我帮你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询