📄 juzhen.cpp
字号:
#include<stdio.h>
void main()
{
void sumstring(int str[100][100],int str1[100][100],int n,int m);
void multpnstring(int str[100][100],int str1[100][100],int n,int m,int k);
int str[100][100],str1[100][100];
int n,m,i,j,k,s,c;
printf(" ***********谢谢使用!本程序可为您提供矩阵加法和乘法运算**********\n");
put: printf("请输入第一个矩阵的行数和列数\n");
scanf("%d%d",&m,&n);
printf("请输入第一个矩阵\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
printf("输入第%d行第%d列的数",i+1,j+1);
scanf("%d",&str[i][j]);
}
printf("下面为第一个矩阵[%d]×[%d]=",i,j);
for(i=0;i<m;i++)
{
printf("\n");
for(j=0;j<n;j++)
printf("%d ",str[i][j]);
}
printf("\n");
printf("计算加法请键入1,乘法请键入2\n");
scanf("%d",&s);
if(s==1)
{
printf("请输入第二个矩阵,第2个矩阵行数和列数与第一个矩阵相同\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{printf("输入第%d行第%d列的数",i+1,j+1);
scanf("%d",&str1[i][j]);
}
printf("下面为第二个矩阵[%d]×[%d]=",i,j);
for(i=0;i<m;i++)
{
printf("\n");
for(j=0;j<n;j++)
printf("%d ",str1[i][j]);
}
printf("计算的结果是:\n");
sumstring(str,str1,n,m);
printf("\n");
getchar();
printf("是否继续?[y]或[n]");
c=getchar();
if(c=='y')goto put ;else;
}
else
{
printf("请输入第二个矩阵的列数\n");
scanf("%d",&k);
printf("第二个矩阵行数和第一个矩阵的列数相同\n");
for(i=0;i<n;i++)
for(j=0;j<k;j++)
scanf("%d",&str1[i][j]);
printf("下面为第二个矩阵[%d]×[%d]=",i,j);
for(i=0;i<m;i++)
{
printf("\n");
for(j=0;j<k;j++)
printf("%d ",str1[i][j]);
}
printf("计算的结果是:\n");
multpnstring(str,str1,n,m,k);
printf("\n");
getchar();
printf("是否继续?[y]或[n]");
c=getchar();
if(c=='y')goto put ;else;
}
}
void sumstring(int str[][100],int str1[][100],int n,int m)
{
int str2[100][100],i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
str2[i][j]=str[i][j]+str1[i][j];
for(i=0;i<m;i++)
{
printf("\n");
for(j=0;j<n;j++)
printf(" %d",str2[i][j]);
}
}
void multpnstring(int str[][100],int str1[][100],int n,int m,int k)
{
int str2[100][100]={0},i,j,s;
for(i=0;i<m;i++)
{
for(s=0;s<k;s++)
for(j=0;j<n;j++)
str2[i][s]+=str[i][j]*str1[j][s];
}
for(i=0;i<m;i++)
{
printf("\n");
for(j=0;j<k;j++)
printf(" %d",str2[i][j]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -