判定方阵的正定与负定在C语言中写法.docx

判定方阵的正定与负定在C语言中写法.docx

ID:56378306

大小:117.48 KB

页数:5页

时间:2020-06-22

判定方阵的正定与负定在C语言中写法.docx_第1页
判定方阵的正定与负定在C语言中写法.docx_第2页
判定方阵的正定与负定在C语言中写法.docx_第3页
判定方阵的正定与负定在C语言中写法.docx_第4页
判定方阵的正定与负定在C语言中写法.docx_第5页
资源描述:

《判定方阵的正定与负定在C语言中写法.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、判定方阵的正定与负定在C语言中写法#include#includeintinput(intn);floatcount(intn,floata[99][99]);main(){inti,j,m,h,k,l,n=0;floatx,a[99][99]={{0}};printf("这是一个判定方阵(100以内包括100)的正定与负定的程序:");while(1)/*实现多次运算*/{n=input(n);/*输入方阵阶数*/for(i=0;i

2、n;j++){printf("请输入:a[%d][%d]=",i+1,j+1);scanf("%f",&x);a[i][j]=x;}}printf("输入的方阵如下:");for(i=0;i

3、值*/{x=count(l+1,a);if(l%2==1){if(x>=0)i++;elsej++;}else{if(x>=0)h++;elsek++;}if(x==0)/*m确定各阶顺序主子式为零的次数*/m++;printf("方阵的%d阶顺序主子式值为:%.2f",l+1,x);}if(n%2==0)/*矩阵为偶数阶时*/{if(i==n/2&&h==n/2&&m==0)printf("该方阵为正定矩阵");elseif(j==0&&k==0&&m!=0)printf("该方阵为半正定矩阵");elseif(i==n/2&&

4、k==n/2&&m==0)printf("该方阵为负定矩阵");elseprintf("该方阵为不定矩阵");}else/*矩阵为奇数阶时*/{if(i==(n-1)/2&&h==(n+1)/2&&m==0)printf("该方阵为正定矩阵");elseif(j==0&&k==0&&m!=0)printf("该方阵为半正定矩阵");elseif(i==(n-1)/2&&k==(n+1)/2&&m==0)printf("该方阵为负定矩阵");elseprintf("该方阵为不定矩阵");}printf("");}return

5、0;}intinput(intn){inti;printf("请输入方阵阶数:");scanf("%d",&i);if(i<=0

6、

7、i>100)/*确保方阵阶数输入正确*/{printf("输入错误,请重新输入!!!");i=input(i);}returni;}floatcount(intn,floata[99][99]){floatb[99][99],sum=0;/*定义数组b并初始化*/inti=0,j=0;/*i,j为行与列,sum为行列式的值*/intx=0,c=0,p=0;/*用x判断加与减,c,p为中间变量*/i

8、f(n==1)returna[0][0];for(i=0;i

9、1);}sum+=a[i][0]*count(n-1,b)*x;/*计算行列式的值*/}returnsum;/*将值返回*/}运行时的简单结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。