6*6行列式相加的c语言,求行列式的值,用C语言怎么写啊?
优质回答 回答者:徐州小可爱
行列式计算公式知道吧,给你个源码参考,大一时写的。
#include
#include
#define MAX 9 /*定义最大为9阶行列式*/
int Fun(int n, int a[MAX][MAX] ); /*函数声明*/
int main()
{
int n = 0; /*初始化阶数n*/
int i = 0, j = 0; /*i,j分别表示行与列*/
int a[MAX][MAX] = {{0}}; /*定义行列式*/
scanf("%d",&n); /*读入阶数*/
while( n != 0) /*输入为0时退出程序*/
{
for( i = 0; i < n; i++) /*此处2次循环将行列式存入数组中*/
{
for( j = 0; j < n; j++)
scanf("%d", &a[i][j]);
}
printf("%d\n", Fun( n, a ) );
scanf("%d", &n);
}
return 0;
}
/*以下为计算行列式值的递归函数*/
int Fun( int n, int a[MAX][MAX] )
{
int b[MAX][MAX] = {{0}}; /*定义数组b并初始化*/
int i = 0, j = 0, sum = 0; /*i,j为行与列,sum为行列式的值*/
int x = 0,c = 0,p=0; /*用x判断加与减,c,p为中间变量*/
if(n == 1)
return a[0][0];
for(i = 0;i < n; i++) /*此处大循环实现将余子式存入数组b中*/
{
for(c = 0;c < n-1; c++)
{
for(j = 0;j < n-1;j++)
{
if (c < i){ /*借助c判断每行的移动方法*/
p = 0; /*当p=0时,行列式只向左移,即消去对应的第一列的数*/
}
else{ /*否则行列式左移后再上移*/
p = 1;
}
b[c][j] = a[c+p][j+1];
}
}
if(i % 2 == 0){ /*i+j(此时j=0,故只考虑i)为偶数,加法预算*/
x = 1;
}
else{ /*i+j为奇数,减法运算*/
x = (-1);
}
sum += a[i][0] * Fun(n - 1, b ) * x; /*计算行列式的值*/
}
return sum; /*将值返回*/
}
-----------------------------------------------------------------
回答者:北橋
使用数组与循环结构相结合。
TAGS: 行列式的值
6*6行列式相加的c语言,求行列式的值,用C语言怎么写啊?相关推荐
- 泰勒级数+牛顿迭代公式+最简单的C语言求根号的值
转载自:http://blog.csdn.net/tqtuuuu/article/details/6821767 无意间在CSDN上看见一哥们讨论Tecent的两道面试题,其中一道题目就是求根号2的值 ...
- java测试一个泰勒级数,泰勒级数+牛顿迭代公式+最简单的C语言求根号的值
无意间看见一哥们讨论Tecent的两道面试题,其中一道题目就是求根号2的值,并且保留指点的小数位.我想我一定是不能进Tecent了,并且我一定是一个数学小白,不,就是一个小白.查了一些资料.mark一 ...
- c语言规定 函数返回值6,C语言六函数.ppt
C语言六函数 第六章 函数 任何一个结构化程序都可以由三种基本结构组成:顺序结构.选择结构和循环结构,为了利用这三种结构编写结构化程序,通常需要采用自顶向下.逐步细化和模块化的程序设计方法,这也就是说 ...
- c语言 int的取值范围,C语言int的取值范围 ?
C语言int的取值范围在32/64位系统中都是32位,范围为-2147483648~+2147483647,无符号情况下表示为0~4294967295. C/C++编程语言中,int表示整型变量,是一 ...
- c语言求行列式的值原理,新手作品:行列式计算C语言版
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 对话 ControlHeightDecrease Shift+Up Arrow 向上调整选定的控件或对话一个对话单位 对话 ...
- c语言求寻找假币的次数,C语言经典算法 - 八枚银币问题
C语言经典算法 - 八枚银币问题 说明现有八枚银币a b c d e f g h,已知其中一枚是假币,其重量不同于真币,但不知是较轻或 较重,如何使用天平以最少的比较次数,决定出哪枚是假币,并得知假币 ...
- linux脚本语言求累加和,Linux Shell脚本语言与数学表达式
当你理解了Shell脚本,每当需要时都能流畅编写时,那种感觉很爽的.本章中,我们将教你用脚本语言进行比较复杂的数学运算. 让我们从斐波那契数列开始吧. 斐波那契数列,又称黄金分割数列,指的是这样一个数 ...
- c语言求100∑k=1k 30,C语言程序设计〔第三章〕.ppt
C语言程序设计[第三章] C 语言程序设计 第三章 程序控制结构 集美大学计算机学院 本章主要内容 程序设计方法简述 选择结构程序设计 if -else 语句 switch语句 循环结构程序设计 四种 ...
- c语言求20项FBNC,大学C语言 结业作业 暗影行者
C语言实验作业报告 -hongXkeX 实验1成绩转换为相应的等级 [实验目的] 1.熟练运用输入,输出语句. 2.练习简单switch语句 [实验内容] 对于给定的一个百分制成绩,输出用ABCDE ...
最新文章
- List循环添加对象时遇到问题的解决
- SAP Retail MM42不能修改物料的物料组
- String的concat方法与join方法
- 牛客网 在线编程 折纸问题
- 面试题24 二叉搜索树的后序遍历序列
- LeetCode 476. Number Complement
- Learning-Python【0】:Windows环境下Python2和Python3的安装
- numpy的科学计算(亲测)
- 解决问题__max 模型白色 材质球换没用
- 运算符的优先级及有哪些运算符
- 给tomcat指定JDK
- 分享一个开源免费、功能强大的视频播放器库
- java SE教程04
- 换根dp 洛谷+upc
- 如何删除kafka消费组
- html表格翻页简单,利用jQuery实现一个简单的表格上下翻页效果
- Power BI应用案例:销售帕累托分析(28法则)
- 新经济的蛀虫——互联网大厂反腐那些事
- 考试系统(uniapp)第二节 (考试试题)
- 安卓手机使用NFC读取MifareClassic等标签信息