程序有些地方不懂 请帮忙解释下~~谢谢

#include<stdio.h>#defineX3/**定义一个3*3的数组**/#defineY3/**********输出数组*******/voidprintf(... # include <stdio.h>
# define X 3 /**定义一个3*3的数组**/
# define Y 3

/**********输出数组*******/
void printf(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 input(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];/***矩阵加****/
printf(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];/***矩阵减****/
printf(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];/***矩阵乘****/
printf(m);
}

int main()
{
int sel=0,agn=1,cpt=1;
int a[X][Y], b[X][Y], m[X][Y];
while(agn==1)
{
printf("请输入矩阵A!\n");
input(a,'a');
printf("请输入矩阵B!\n");
input(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;
}

这个是矩阵的运算 有写地方看不懂~~
1. printf(" %5d",a[i][j]);
%5d是什么意思?不是定义输出字符5位吧...

2.void madd
void mmul
void msub各是什么函数声明?

3.sel agn cpt各代表什么?是缩写吗
sel好象是选择的意思 那后面2个呢

谢谢谢谢 不盛感激!!!
要是能给我个邮箱或者QQ号更好~~我最近看的都疯了~~
展开
 我来答
dos62
2008-01-10 · TA获得超过1660个赞
知道大有可为答主
回答量:1410
采纳率:0%
帮助的人:2168万
展开全部
1、%5d表示输出5位宽度的整数
2、
void madd(int a[X][Y],int b[X][Y],int m[X][Y])
//matrix add函数,接收三个X*Y大小的矩阵。

/********矩阵减,结果保存于m[][]****/
//matrix sub,接收三个X*Y矩阵
void msub(int a[X][Y],int b[X][Y],int m[X][Y])

/*******矩阵乘,结果保存于m[][]******/
//matrix multiple,接收X*Y和Y*X大小的矩阵,返回X*X矩阵
void mmul(int a[X][Y],int b[Y][X],int m[X][X])

3、sel代表输入1、2、3,相应进行矩阵加、减、乘运算。
agn,again? 代表输入0、1,相对应的是、否输入新的矩阵数据。
cpt,compute? 代表是否对当前的矩阵进行别的运算。
中智咨询
2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。... 点击进入详情页
本回答由中智咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式