C语言学习 - 0006 行列式乘法

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 void main()
 4 {
 5     void read(int* m,int* n);
 6     int* ptable(int m,int n);
 7     int* math(int m1,int n1,int n2,int* num_1,int* num_2);
 8     void dyjz(int m,int n,int* num_1);
 9     int m1=0,n1=0;
10     int m2=0,n2=0;
11
12     read(&m1,&n1);                            /*读出m*n行列*/
13     int* num_1=ptable(m1,n1);                /*读取行列式1*/
14     read(&m2,&n2);
15     int* num_2=ptable(m2,n2);                /*读取行列式2*/
16
17     if(m2!=n1){                                /*判断正误*/
18             printf("输入错误");
19             while(getchar()!=‘d‘)
20                 getchar();
21             return;
22     }
23
24     int* num_result=math(m1,n1,n2,num_1,num_2);    /*计算并返回结果*/
25     dyjz(m1,n2,num_result);
26
27     while(getchar()!=‘d‘)
28         getchar();
29 }
30 void read(int* m,int* n)
31 {
32     printf("输入m行\n");
33     scanf("%d",m);
34     printf("输入n列\n");
35     scanf("%d",n);
36 }
37 int* ptable(int m,int n)
38 {
39     printf("%d*%d\n",m,n);
40     int* num_1=(int*)malloc(sizeof(int)*m*n);
41     for(int a=0;a<m;a++)
42         for(int b=0;b<n;b++)
43             scanf("%d",num_1+a*n+b);
44     for(int a=0;a<m;a++){
45         printf("\n");
46         for(int b=0;b<n;b++)
47             printf("%d ",*(num_1+a*n+b));
48     }
49     printf("\n");
50     return (num_1);
51 }
52 int* math(int m1,int n1,int n2,int* num_1,int* num_2)
53 {
54     int* num_result=(int*)malloc(sizeof(int)*m1*n2);
55     int cun=0,cun1=0,cun2=0;
56     for(int a=0;a<m1;a++)
57         for(int b=0;b<n2;b++){
58             for(int c=0;c<n1;c++){
59                 cun1=*(num_1+a*n1+c);
60                 cun2=*(num_2+c*n2+b);
61                 cun=cun+cun1*cun2;
62             }
63             *(num_result+a*n2+b)=cun;
64             cun=0;
65             cun1=0;
66             cun2=0;
67         }
68     return(num_result);
69 }
70 void dyjz(int m,int n,int* num_1)                        /*打印矩阵程序*/
71 {
72     for(int a=0;a<m;a++){
73         printf("\n");
74         for(int b=0;b<n;b++)
75             printf("%d ",*(num_1+a*n+b));
76     }
77     printf("\n");
78 }
时间: 2024-10-10 04:46:18

C语言学习 - 0006 行列式乘法的相关文章

R语言学习笔记

參考:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environment for Data Analysis and Graphics,2003. http://bayes.math.montana.edu/Rweb/Rnotes/R.html 前言:关于R 在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data

【转】朱兆祺教你如何攻破C语言学习、笔试与机试的难点(连载)

原文网址:http://bbs.elecfans.com/jishu_354666_1_1.html 再过1个月又是一年应届毕业生应聘的高峰期了,为了方便应届毕业生应聘,笔者将大学四年C语言知识及去年本人C语言笔试难点进行梳理,希望能对今年应届毕业生的应聘有所帮助. 2013年10月18日更新-->    攻破C语言这个帖子更新到这里,我不仅仅是为了补充大学学生遗漏的知识,我更重要的是希望通过我的经验,你们实际项目中的C语言写得漂亮,写出属于你的风格.“朱兆祺STM32手记”(http://bb

学习ios笔记第一天的C语言学习记录

c语言基础学习 int num1 = 15; int num2 = 5; int temp = 0; //先把num1放到temp里 temp = num1; //先把num2放到num1里 num1 = num2; //先把temp放到num2里 num2 = temp; 算数运算符 +加法运算 -减法运算符 *乘法运算符 /除法运算符  ------整型相除取整,除数不为0 %取余运算符 ------两边均为整数 ++递增运算-------运算符在前,先执行:运算符在后,后执行: --递减运

C语言学习书籍推荐《C Primer Plus(中文版)(第5版)》下载

普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表达式.流程控制语句.函数.数组和指针.字符串操作.内存管理.位操作等,知识内容都针对C99标准:另外,<C Primer Plus(中文版)(第5版)>强化了对指针的讨论,并引入了动态内存分配的概念,也讨论了C预处理器和C库函数.高级数据表示(数据结构)方面的内容. 下载地址:点我 编辑推荐 作为

大一上学期C语言学习心得总结

经过一个学期的C语言学习,大体算是在这个编程语言上入了门,能够通过一些代码解决特定的问题.当然,每次成功将问题转换成代码都小有激动,虽然只是在黑框上输出了一些数字或是字符串. 编程,虽然还不是很懂,但总感觉不只是学习知识这么简单,更多给我的感受是它在潜移默化中培养了人的一种能力,用自己的话来讲就是一种”代码能力“.对于同一个问题,让大家去解开答案,可能经过一些纸笔的运算都能得出结果,但是如何把这个问题转化成代码,这就是一种能力,而仅仅是将问题转换成代码,这是较为浅层次的能力,更深层的便是通过优化

Perl语言学习笔记 9 正则表达式处理文本

1.替换 s/PATTERN/REPLACE/; #返回是否替换成功的布尔值 可以使用捕获变量,如:s/(\w)/$1/ 匹配失败则不做任何处理 2.定界符 对于没有左右之分的定界符,重复三次即可,如:s///.s### 对于有左右之分的定界符,需使用两对,一对包含模式,一对包含替换字符串,这两对可以不一样,如:s{}{}.s[]{}.s<>[] 3.可选修饰符 /g可进行全局替换,替换所有匹配到的字符串,如:s/ / /g /s:使得 . 匹配所有字符 /i:大小写无关 4.绑定操作符 $f

go语言学习(五)——面向对象编程

主要讲的是"类"和接口&和其他传统语言不一样的地方挺多的,断断续续看了好几天 下面是我的练习代码 // GoStudy0219 project main.go /* go语言学习--面向对象编程(1) go中类型的值语义和引用语义 结构体(类)的定义和初始化 */ package main import ( "fmt" ) func main() { //几种"类"的初始化 v1 := &character{"Tom&q

Perl语言学习笔记 6 哈希

1.哈希的键是唯一的,值可以重复! 2.访问哈希元素 $hashname{"$key"};#哈希为大括号,数组为方括号,键为字符串 $family_name{"fred"} = "firstd";#给哈希元素赋值 3.哈希键支持任意表达式 $foo = "na"; $family_name{$foo."me"};#获取$family_name{"name"}对应的值 4.访问整个哈希 %

JavaScript--基于对象的脚本语言学习笔记(二)

第二部分:DOM编程 1.文档象模型(DOM)提供了访问结构化文档的一种方式,很多语言自己的DOM解析器. DOM解析器就是完成结构化文档和DOM树之间的转换关系. DOM解析器解析结构化文档:将磁盘上的结构化文档转换成内存中的DOM树 从DOM树输出结构化文档:将内存中的DOM树转换成磁盘上的结构化文档 2.DOM模型扩展了HTML元素,为几乎所有的HTML元素都新增了innerHTML属性,该属性代表该元素的"内容",即返回的某个元素的开始标签.结束标签之间的字符串内容(不包含其它