⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 juzhen.cpp

📁 大一时候 我们老师上课留的C语言思考题 我写的解答程序的源代码。。。
💻 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 + -