c语言判断用户名重负,判定方阵的正定负定在C语言中写法.docx
判定方陣的正定與負定在C語言中寫法
#include
#include
int input(int n);
float count(int n,float a[99][99]);
main()
{
int i,j,m,h,k,l,n=0;
float x,a[99][99]={{0}};
printf("這是一個判定方陣(100以內包括100)的正定與負定的程序:\n");
while(1) /*實現多次運算*/
{
n=input(n); /*輸入方陣階數*/
for(i=0;i
{
for(j=0;j
{
printf("請輸入:a[%d][%d]=",i+1,j+1);
scanf("%f",&x);
a[i][j]=x;
}
}
printf("輸入的方陣如下:\n");
for(i=0;i
{
printf(" ");
for(j=0;j
{
printf("%.2f ",a[i][j]); /*輸出時保留兩位小數*/
}
printf("\n");
}
i=0;j=0;h=0;k=0;m=0; /*i、j(h、k)確定偶(奇)數階的正負*/
for(l=0;l
{
x=count(l+1,a);
if(l%2==1)
{
if(x>=0)
i++;
else
j++;
}
else
{
if(x>=0)
h++;
else
k++;
}
if(x==0) /*m確定各階順序主子式為零的次數*/
m++;
printf("方陣的%d階順序主子式值為:%.2f\n",l+1,x);
}
if(n%2==0) /*矩陣為偶數階時*/
{
if(i==n/2&&h==n/2&&m==0)
printf("該方陣為正定矩陣");
else if(j==0&&k==0&&m!=0)
printf("該方陣為半正定矩陣");
else if(i==n/2&&k==n/2&&m==0)
printf("該方陣為負定矩陣");
else
printf("該方陣為不定矩陣");
}
else /*矩陣為奇數階時*/
{
if(i==(n-1)/2&&h==(n+1)/2&&m==0)
printf("該方陣為正定矩陣");
else if(j==0&&k==0&&m!=0)
printf("該方陣為半正定矩陣");
else if(i==(n-1)/2&&k==(n+1)/2&&m==0)
printf("該方陣為負定矩陣");
else
printf("該方陣為不定矩陣");
}
printf("\n\n\n");
}
return 0;
}
int input(int n)
{
int i;
printf("請輸入方陣階數:");
scanf("%d",&i);
if(i<=0||i>100) /*確保方陣階數輸入正確*/
{
printf("輸入錯誤,請重新輸入!!!\n\n");
i=input(i);
}
return i;
}
float count(in
總結
以上是生活随笔為你收集整理的c语言判断用户名重负,判定方阵的正定负定在C语言中写法.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中tgx是什么函数,《高等数学》课
- 下一篇: android判断银行卡号格式不正确的是