#include stdlib.h
創(chuàng)新互聯(lián)公司IDC提供業(yè)務:服務器托管,成都服務器租用,服務器托管,重慶服務器租用等四川省內(nèi)主機托管與主機租用業(yè)務;數(shù)據(jù)中心含:雙線機房,BGP機房,電信機房,移動機房,聯(lián)通機房。
#include math.h
#include stdio.h
int brinv(double a[], int n)
{ int *is,*js,i,j,k,l,u,v;
double d,p;
is=malloc(n*sizeof(int));
js=malloc(n*sizeof(int));
for (k=0; k=n-1; k++)
{ d=0.0;
for (i=k; i=n-1; i++)
for (j=k; j=n-1; j++)
{ l=i*n+j; p=fabs(a[l]);
if (pd) { d=p; is[k]=i; js[k]=j;}
}
if (d+1.0==1.0)
{ free(is); free(js); printf("err**not inv\n");
return(0);
}
if (is[k]!=k)
for (j=0; j=n-1; j++)
{ u=k*n+j; v=is[k]*n+j;
p=a[u]; a[u]=a[v]; a[v]=p;
}
if (js[k]!=k)
for (i=0; i=n-1; i++)
{ u=i*n+k; v=i*n+js[k];
p=a[u]; a[u]=a[v]; a[v]=p;
}
l=k*n+k;
a[l]=1.0/a[l];
for (j=0; j=n-1; j++)
if (j!=k)
{ u=k*n+j; a[u]=a[u]*a[l];}
for (i=0; i=n-1; i++)
if (i!=k)
for (j=0; j=n-1; j++)
if (j!=k)
{ u=i*n+j;
a[u]=a[u]-a[i*n+k]*a[k*n+j];
}
for (i=0; i=n-1; i++)
if (i!=k)
{ u=i*n+k; a[u]=-a[u]*a[l];}
}
for (k=n-1; k=0; k--)
{ if (js[k]!=k)
for (j=0; j=n-1; j++)
{ u=k*n+j; v=js[k]*n+j;
p=a[u]; a[u]=a[v]; a[v]=p;
}
if (is[k]!=k)
for (i=0; i=n-1; i++)
{ u=i*n+k; v=i*n+is[k];
p=a[u]; a[u]=a[v]; a[v]=p;
}
}
free(is); free(js);
return(1);
}
void brmul(double a[], double b[],int m,int n,int k,double c[])
{ int i,j,l,u;
for (i=0; i=m-1; i++)
for (j=0; j=k-1; j++)
{ u=i*k+j; c[u]=0.0;
for (l=0; l=n-1; l++)
c[u]=c[u]+a[i*n+l]*b[l*k+j];
}
return;
}
int main()
{ int i,j;
static double a[4][4]={ {0.2368,0.2471,0.2568,1.2671},
{1.1161,0.1254,0.1397,0.1490},
{0.1582,1.1675,0.1768,0.1871},
{0.1968,0.2071,1.2168,0.2271}};
static double b[4][4],c[4][4];
for (i=0; i=3; i++)
for (j=0; j=3; j++)
b[i][j]=a[i][j];
i=brinv(a,4);
if (i!=0)
{ printf("MAT A IS:\n");
for (i=0; i=3; i++)
{ for (j=0; j=3; j++)
printf("%13.7e ",b[i][j]);
printf("\n");
}
printf("\n");
printf("MAT A- IS:\n");
for (i=0; i=3; i++)
{ for (j=0; j=3; j++)
printf("%13.7e ",a[i][j]);
printf("\n");
}
printf("\n");
printf("MAT AA- IS:\n");
brmul(b,a,4,4,4,c);
for (i=0; i=3; i++)
{ for (j=0; j=3; j++)
printf("%13.7e ",c[i][j]);
printf("\n");
}
}
}
樓主你好
具體代碼如下:
函數(shù)fun()就是樓主需要的子函數(shù)
#includestdio.h#define MAX 20
int fun()
{
int OX=30;//保存十六進制數(shù)30
int n=0;//保存OX的十進制數(shù)
int i=16;//16進制
int j=1;//保存位權
while(OX)
{
n+=(OX%10)*j;
OX/=10;
j*=i;
}
return n;//返回十六進制30的十進制數(shù)
}
int main()
{
printf("十六進制數(shù)30的十進制為:%d\n",fun());
return 0;
}
希望能幫助你哈
在C語言中主函數(shù)調(diào)用子函數(shù),子函數(shù)被主函數(shù)調(diào)用,這就是它們之間的聯(lián)系。編寫函數(shù)主要有以下步驟,首先對函數(shù)進行定義,語法格式為:
類型說明符? 函數(shù)名 (含類型說明的形式參數(shù)表)
{
語句序列
}
形式參數(shù)的作用是實現(xiàn)主函數(shù)和被調(diào)函數(shù)之間的聯(lián)系。通常將函數(shù)所處理的數(shù)據(jù)、影響函數(shù)功能的因素或函數(shù)處理的結果作為形參。
然后還要確定函數(shù)的返回值及類型,格式為:
return? ?表達式;
這個語句的另一個作用是結束當前函數(shù)的執(zhí)行。一個函數(shù)可以不將任何值返回主函數(shù),此時它的類型標識符為void,可以不寫return語句,也可以寫一個不帶表達式的return;語句。
擴展資料
C語言編程書寫規(guī)則:
1、一個說明或一個語句占一行。
2、用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,并單獨占一行。
3、低一層次的語句或說明可比高一層次的語句或說明縮進若干格后書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規(guī)則,以養(yǎng)成良好的編程風格。
參考資料來源:《C++語言程序設計(第4版)》鄭莉? 董源 何江舟 編著? 清華大學出版社
第三章 函數(shù)? 3.1 函數(shù)的定義與使用
參考資料來源:百度百科--c語言
void?quicksort(int?left,int?right)?//括號內(nèi)為函數(shù)接收的形參,int型?left和right
if(letfright)?//比較參數(shù)left和right的大小,left大,則比較的結果為1,運行if里的語句;否則結果為0,跳過if里的語句
i=left;?//left為該函數(shù)形參,調(diào)用函數(shù)時賦值
quicksort(left,i-1);?//調(diào)用quicksort函數(shù),以參數(shù)left和i-1的值作為此次調(diào)用的quicksort中形參“l(fā)eft”和“right”的值
quicksort(i+1,right);?//調(diào)用quicksort函數(shù),以參數(shù)i+1和right的值作為此次調(diào)用的quicksort中形參“l(fā)eft”和“right”的值
這是一個遞歸函數(shù),可以看到quicksort函數(shù)中調(diào)用了本身