C语言实现的矩阵加减乘法运算系统 下载本文

内容发布更新时间 : 2024/5/18 18:48:34星期一 下面是文章的全部内容请认真阅读。

/*本矩阵运算系统可以完成矩阵的加、减、乘法,但是只限于方阵*/

#include<stdio.h> #include<math.h>

/*--------------------全局变量定义-------------------------*/ int n,m,c=0;

int a[100][100],b[100][100]; int fc[100][100];

/*--------------------函数声明-----------------------------*/ void print(); void print_sub(); void input_marry(); void add_marry(); void sub_marry(); void mut_marry();

/*------------------主函数-----------------*/ void main() {

print();

scanf("%d",&c); while(c!='\\0') {

if(c==1) {input_marry();} if(c==2) {add_marry();} if(c==3) {sub_marry();} if(c==4) {mut_marry();} if(c==0) {c='\\0';}

printf("请选择运算:\\n\\n"); scanf("%d",&c); } }

/*----------------打印函数------------------*/ void print() {

printf(" 矩阵运算管理系统 \\n"); printf("------------------------------------\\n"); printf("1 输入矩阵\\n"); printf("2 矩阵相加\\n"); printf("3 矩阵相减\\n"); printf("4 矩阵相乘\\n"); printf("0 退出系统\\n");

printf("------------------------------------\\n"); printf("请选择:\\n\\n"); }

/*---------------矩阵输入-----------------------*/ void input_marry() {

int i,j;

printf("请输入矩阵的维数\\n\\n"); scanf("%d",&n); m=n*n;

/*---------------第一个矩阵输入-----------------*/

printf("请输入第一个矩阵a(共有M个元素):\\n\\n",m); do { m--;

for(i=0;i<n;i++) for(j=0;j<n;j++) {

scanf("%d",&a[i][j]); }

}while(m<0);

/*----------------打印第一个矩阵---------------*/ printf("您输入的矩阵a=\\n\\n"); for(i=0;i<n;i++) for(j=0;j<n;j++) {

printf("d",a[i][j]); if(j==n-1)printf("\\n"); }

/*---------------第二个矩阵输入-----------------*/ m=n*n;

printf("请输入第二个矩阵b(共有M个元素):\\n\\n",m); do { m--;

for(i=0;i<n;i++) for(j=0;j<n;j++) {

scanf("%d",&b[i][j]); }

}while(m<0);

/*----------------打印第二个矩阵---------------*/ printf("您输入的矩阵b=\\n\\n"); for(i=0;i<n;i++) for(j=0;j<n;j++) {

printf("d",b[i][j]); if(j==n-1)printf("\\n"); }

print_sub(); }

/*----------------矩阵加法运算-----------------*/ void add_marry() {

int i,j;

for(i=0;i<n;i++) for(j=0;j<n;j++) { fc[i][j]=0;

fc[i][j]=a[i][j]+b[i][j]; }

printf("矩阵和为:\\n\\n"); for(i=0;i<n;i++) for(j=0;j<n;j++) {

printf("d",fc[i][j]); if(j==n-1)printf("\\n"); }

print_sub(); }