C语言求行列式的值
- #include "stdafx.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- #define NUM 3
- int Fun(int n, int a[NUM][NUM]); /*函数声明*/
- int main()
- {
- int i = , j = ; /*i,j分别表示行与列*/
- int a[][] = { {,,},{,,},{,,} }; /*定义行列式*/
- printf("%d\n", Fun(NUM, a));
- system("pause");
- return ;
- }
- /*以下为计算行列式值的递归函数*/
- int Fun(int n, int a[NUM][NUM])
- {
- static int b[NUM][NUM] = { { } }; /*定义数组b并初始化*/
- int i = , j = , sum = ; /*i,j为行与列,sum为行列式的值*/
- int x = , c = , p = ; /*用x判断加与减,c,p为中间变量*/
- if (n == )
- return a[][];
- for (i = ; i < n; i++) /*此处大循环实现将余子式存入数组b中*/
- {
- for (c = ; c < n - ; c++)
- {
- for (j = ; j < n - ; j++)
- {
- if (c < i) { /*借助c判断每行的移动方法*/
- p = ; /*当p=0时,行列式只向左移,即消去对应的第一列的数*/
- }
- else { /*否则行列式左移后再上移*/
- p = ;
- }
- b[c][j] = a[c + p][j + ];
- }
- }
- if (i % == ) { /*i+j(此时j=0,故只考虑i)为偶数,加法预算*/
- x = ;
- }
- else { /*i+j为奇数,减法运算*/
- x = (-);
- }
- sum += a[i][] * Fun(n - , b) * x; /*计算行列式的值*/
- }
- return sum; /*将值返回*/
- }
C语言求行列式的值的更多相关文章
- C++/python求哈希值(SHA256)
发现一个很奇怪的现象: python语言求哈希值所用时间竟然比C++少: C++ code 1 #include "stdafx.h" 2 #include <windows ...
- 《用C++语言编写一个程序,求PI的值》
//编写一个C++程序求PI的值 /* PI=16arctan(1/5)-4arctan(1/239) 其中arctan用如下形式的极数计算: arctan=x-(x^3/3)+(x^5/7)-(x^ ...
- c语言求平面上2个坐标点的直线距离、求俩坐标直线距离作为半径的圆的面积、递归、菲波那次数列、explode
#include <stdio.h> #include <math.h> #include <string.h> char explode( char * str ...
- 说说用C语言求根的那些事儿
C语言--求根:计算机只识别0和1,那么问题来了,作为计算工具如何解决数学问题?其实,计算机是死东西,都是程序员用计算机的的思维去加数学公式计算数学题的.听起来好高端的样子,其实啊,也就那么回事儿, ...
- Swift语言指南(六)--可选值
原文:Swift语言指南(六)--可选值 在值可能不存在的情况下使用可选值(optional), 可选值是: · 存在一个值,这个值等于 x 或 · 不存在任何值 注: 在 C 和 Objective ...
- C#程序计算N阶行列式的值及N元一次方程组
C#程序计算N阶行列式的值及N元一次方程组 用了挺长时间自行完成了C#程序计算N阶行列式的值及N元一次方程组.由于自己没有在网上查阅其他资料,所以只能硬着头皮用最朴素的思想和基础的算法进行编程.在给出 ...
- c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)
C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...
- Swift语言指南(七)--语言基础之布尔值和类型别名
原文:Swift语言指南(七)--语言基础之布尔值和类型别名 布尔值 Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false ...
- hdu3183 rmq求区间最值的下标
两个月前做的题,以后可以看看,是rmq关于求区间最值的下标 /* hdu3183 终点 给一个整数,可以删除m位,留下的数字形成一个新的整数 rmq 取n-m个数,使形成的数最小 */ #includ ...
随机推荐
- Arch Linux安装后的一些初始设置简介
配置有线网络. 没网络的时候,可以直接设定ip应急,后面 netctl 才是正规设置: # ip addr add 192.168.0.100/24 dev enp0s4# ip link set d ...
- Learning-Python【6】:Python数据类型(2)—— 列表、元组
一.列表类型 1.用途:记录多值,比如人的多个爱好 2.定义方式:在[ ]内用逗号分隔开多个任意类型的值 li = [1, 2, 3] 3.常用操作+内置方法 优先掌握的操作: 1)按索引存取值:可以 ...
- 在 jupyter 中添加菜单和自动完成功能
在 jupyter 中添加菜单和自动完成功能 参考文档http://www.360doc.com/content/17/1103/14/1489589_700569828.shtmlhttp://to ...
- Lintcode482-Binary Tree Level Sum-Easy
482. Binary Tree Level Sum Given a binary tree and an integer which is the depth of the target level ...
- 代码覆盖率-JaCoCo
代码覆盖率 在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至,用代码覆盖率来考核测试任务完成情况,比如,代码覆盖率必须达到80%或 90%. JaCoCo Jacoco从多种角度对代码 ...
- MySQL连接java
1.创建一个java project,建一个lib文件. 下载MySQL-connecor. 将下载好的文件打开,将mysql-connector-java-5.0.8-bin.jar文件粘贴复制到l ...
- 谈谈如何给下拉框option添加点击事件?
我们在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发. ...
- Fastjson-fastjson中$ref对象重复引用问题
当你有城市数据,你需要按国内.国际.热门城市分成数组的形式给出并输出为json格式. 第一个问题,你的数据格式,需要按字母类别划分,比如: "int": { "C&quo ...
- MySQL自增序列-亲试ok
#1.创建sequence表,公共的 DROP TABLE IF EXISTS sequence; CREATE TABLE sequence ( name VARCHAR(30) NOT ...
- STL 小白学习(4) deque
#include <iostream> #include <deque> //deque容器 双口 using namespace std; void printDeque(d ...