
1个回答
展开全部
因有别的事,我用别人的代码发给你,不过我运行了,可以用
// 111.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
/****************************************************************************/
/*题目:矩阵加减乘演示*****/
/*作者:vc99 writed for c bar***/
/*日期:2005.9.5***/
/*版本:Version 1.1
/*简介:本演示引入第三个矩阵来保存运算结果,以达到连续运算的目的。***/
/***************************************************************************/
# include "stdio.h"
# include "stdlib.h"
# define X 3
# define Y 3
/**********输出数组*******/
void prt(int a[X][Y])
{
int i,j;
for(i=0;i<X;i++)
{
for(j=0;j<Y;j++)
printf(" %5d",a[i][j]);
printf("\n");
}
}
/************输入数组*********/
void inp(int a[X][Y], char s)
{
int i,j,t;
for(i=0;i<Y;i++)
for(j=0;j<Y;j++)
{
printf("%c[%d][%d]=",s,i,j);/**提示输入数组s的[i][j]元素 ****/
scanf("%d",&t);
a[i][j]=t;
}
}
/********矩阵加,结果保存于m[][]*********/
void madd(int a[X][Y],int b[X][Y],int m[X][Y])
{
int i,j;
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
m[i][j]=a[i][j]+b[i][j];/***矩阵加****/
prt(m);
}
/********矩阵减,结果保存于m[][]****/
void msub(int a[X][Y],int b[X][Y],int m[X][Y])
{
int i,j;
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
m[i][j]=a[i][j]-b[i][j];/***矩阵减****/
prt(m);
}
/*******矩阵乘,结果保存于m[][]******/
void mmul(int a[X][Y],int b[X][Y],int m[X][Y])
{
int i,j,k;
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
m[i][j]=0;
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
for(k=0;k<Y;k++)
m[i][j]+=a[i][k]*b[k][j];/***矩阵乘****/
prt(m);
}
int main(int argc, char* argv[])
{
int sel=0,agn=1,cpt=1;
int a[X][Y], b[X][Y], m[X][Y];
while(agn==1)
{
printf("请输入矩阵a!\n");
inp(a,'a');
printf("请输入矩阵b!\n");
inp(b,'b');
while (cpt==1)
{
printf("请选择矩阵运算:[1]+ [2]- [3]*\n\t");
scanf("%d",&sel);
if (sel==1) madd(a,b,m);
if (sel==2) msub(a,b,m);
if (sel==3) mmul(a,b,m);
printf("重新运算?[1]是 [0]否");
scanf("%d",&cpt);
}
printf("是否重新输入矩阵?[1]是 [0]否");
scanf("%d",&agn);
}
return 0;
}
这样可以么?
// 111.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
/****************************************************************************/
/*题目:矩阵加减乘演示*****/
/*作者:vc99 writed for c bar***/
/*日期:2005.9.5***/
/*版本:Version 1.1
/*简介:本演示引入第三个矩阵来保存运算结果,以达到连续运算的目的。***/
/***************************************************************************/
# include "stdio.h"
# include "stdlib.h"
# define X 3
# define Y 3
/**********输出数组*******/
void prt(int a[X][Y])
{
int i,j;
for(i=0;i<X;i++)
{
for(j=0;j<Y;j++)
printf(" %5d",a[i][j]);
printf("\n");
}
}
/************输入数组*********/
void inp(int a[X][Y], char s)
{
int i,j,t;
for(i=0;i<Y;i++)
for(j=0;j<Y;j++)
{
printf("%c[%d][%d]=",s,i,j);/**提示输入数组s的[i][j]元素 ****/
scanf("%d",&t);
a[i][j]=t;
}
}
/********矩阵加,结果保存于m[][]*********/
void madd(int a[X][Y],int b[X][Y],int m[X][Y])
{
int i,j;
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
m[i][j]=a[i][j]+b[i][j];/***矩阵加****/
prt(m);
}
/********矩阵减,结果保存于m[][]****/
void msub(int a[X][Y],int b[X][Y],int m[X][Y])
{
int i,j;
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
m[i][j]=a[i][j]-b[i][j];/***矩阵减****/
prt(m);
}
/*******矩阵乘,结果保存于m[][]******/
void mmul(int a[X][Y],int b[X][Y],int m[X][Y])
{
int i,j,k;
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
m[i][j]=0;
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
for(k=0;k<Y;k++)
m[i][j]+=a[i][k]*b[k][j];/***矩阵乘****/
prt(m);
}
int main(int argc, char* argv[])
{
int sel=0,agn=1,cpt=1;
int a[X][Y], b[X][Y], m[X][Y];
while(agn==1)
{
printf("请输入矩阵a!\n");
inp(a,'a');
printf("请输入矩阵b!\n");
inp(b,'b');
while (cpt==1)
{
printf("请选择矩阵运算:[1]+ [2]- [3]*\n\t");
scanf("%d",&sel);
if (sel==1) madd(a,b,m);
if (sel==2) msub(a,b,m);
if (sel==3) mmul(a,b,m);
printf("重新运算?[1]是 [0]否");
scanf("%d",&cpt);
}
printf("是否重新输入矩阵?[1]是 [0]否");
scanf("%d",&agn);
}
return 0;
}
这样可以么?

2022-12-05 广告
图形化编程简单理解为用积木块形式编程,scratch和python也是其中的一种,属于入门级编程,以其简单生动的画面获得无数学生的喜爱,深圳市创客火科技有限公司是一家做教育无人机的公司,旗下有编程无人机,积木无人机及室内外编队,每款飞机含有...
点击进入详情页
本回答由--提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询