C语言练习

题目:

1.用C语言编写,求四行三列矩阵和三行四列矩阵的乘积,格构成元素由键盘输入。

分析:1.本体可以分为四个部分,(1)输入第一个矩阵的元素

                                                      (2)输入第二个矩阵的元素

                                                      (3)计算乘积

                                                      (4)打印结果

              2.可以使用对象式宏,来定义数值。

代码运行:

#include <stdio.h>
int i, j, k;

#define ROWS_A 4
#define COLS_A 3
#define ROWS_B 3
#define COLS_B 4
#define ROWS_C ROWS_A
#define COLS_C COLS_B
int A[ROWS_A][COLS_A], B[ROWS_B][COLS_B], C[ROWS_C][COLS_C];
int input_matrixA();
int input_matrixB();
void count_matrix();
void output_matrix();
int main() 
	{
    
    	
		input_matrixA();//函数调用
		input_matrixB();//函数调用
  		count_matrix();//函数调用
   		output_matrix();//函数调用

    	

    return 0;
   }


int input_matrixA()// 输入矩阵A
{

    	printf("请输入矩阵A的元素(4行3列):\n");
    	for (i = 0; i < ROWS_A; i++)
			 {
       			 for (j = 0; j < COLS_A; j++)
					 {
            			scanf("%d", &A[i][j]);
       				 }	
    		}	
    		return 0;
}

int input_matrixB()// 输入矩阵B
{
		
    	printf("请输入矩阵B的元素(3行4列):\n");
   		for (i = 0; i < ROWS_B; i++) 
		   {
       		 for (j = 0; j < COLS_B; j++) 
				{
            		scanf("%d", &B[i][j]);
       			}
   			}
	return 0;
}

void count_matrix()// 计算矩阵C = A * B
{
		
    	for (i = 0; i < ROWS_C; i++) 
			{
       		 	for (j = 0; j < COLS_C; j++)	
				 	{
            			C[i][j] = 0;
           				for (k = 0; k < COLS_A; k++) 	
							{
               				 	C[i][j] += A[i][k] * B[k][j];
           					}
       				 }
    		}
	
}

void output_matrix()// 输出矩阵C
{
	
    	printf("矩阵C(A和B的乘积)的元素(4行4列):\n");
    	for (i = 0; i < ROWS_C; i++)
	 		{
        		for (j = 0; j < COLS_C; j++)
		 			{
       					 printf("%d ", C[i][j]);
        			}
        printf("\n");
    		}
}

运行结果: 


完 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值