c语言求n元一次方程组的根的代码
答案:1 悬赏:50
解决时间 2021-01-14 14:36
- 提问者网友:兔牙战士
- 2021-01-13 14:52
c语言求n元一次方程组的根的代码
最佳答案
- 二级知识专家网友:持酒劝斜阳
- 2021-01-13 15:23
功能:已知有一三元一次方程组如下
,
方程系数由键盘输入,求其
3
个根。
*/
# include
int main(void)
{
int i, j, m, n, r, k=0, t; //i,j,m,k,t
作为循环计数变量;
n
表示有
n
个未知数,即
n
元;
r
表示有
r
个方程组成方程组。
//
n = r = 3;
printf("
请输入未知数个数
n
和方程的个数
:\n");
scanf("%d %d", &n, &r);//n
表示有
n
个未知数,即
n
元;
r
表示有
r
个方程
组成方程组。
float a[11][20];//
用二维数组存储方程组参数。
11
和
100
课改动。这里
的程序限
10
元
20
个方程的方程组。
float b[200];//
原来存放之间变量。
printf("
请输入方程组参数
\n");
for(j=0; j
for(i=0; i
scanf("%f", &a[j][i]);
if(r
printf("
方程有无穷解
\n");
if(r==n)
{
printf("
方程有唯一解
\n");
for(t=0; t 循环次数:当
t=0
时,仅将
a[1][0],a[2][0],a[2][1]
的值转换为
0
;
t=1
时,才将其转换成最简型阶梯矩阵。
{
for(m=0; m 表示第
m
列
for(j=0; j 表示第
j
行
if(j!=m)
{
b[k] = a[j][m]/a[m][m];
for(i=0; i 因为一行的每个
元素均要进行运算等式两边才会相等。
a[j][i] -= a[m][i]*b[k];
b[k]=0;//
此处是必不可少的。因为内
存中会有垃圾值,必须要处理。
k++;
}
}
for(j=0; j 为了将其转换成单位矩阵,见《线性代数》第
98
页。
{
a[j][n] /= a[j][j];
a[j][j] /=a[j][j];
,
方程系数由键盘输入,求其
3
个根。
*/
# include
int main(void)
{
int i, j, m, n, r, k=0, t; //i,j,m,k,t
作为循环计数变量;
n
表示有
n
个未知数,即
n
元;
r
表示有
r
个方程组成方程组。
//
n = r = 3;
printf("
请输入未知数个数
n
和方程的个数
:\n");
scanf("%d %d", &n, &r);//n
表示有
n
个未知数,即
n
元;
r
表示有
r
个方程
组成方程组。
float a[11][20];//
用二维数组存储方程组参数。
11
和
100
课改动。这里
的程序限
10
元
20
个方程的方程组。
float b[200];//
原来存放之间变量。
printf("
请输入方程组参数
\n");
for(j=0; j
for(i=0; i
scanf("%f", &a[j][i]);
if(r
printf("
方程有无穷解
\n");
if(r==n)
{
printf("
方程有唯一解
\n");
for(t=0; t
t=0
时,仅将
a[1][0],a[2][0],a[2][1]
的值转换为
0
;
t=1
时,才将其转换成最简型阶梯矩阵。
{
for(m=0; m
m
列
for(j=0; j
j
行
if(j!=m)
{
b[k] = a[j][m]/a[m][m];
for(i=0; i
元素均要进行运算等式两边才会相等。
a[j][i] -= a[m][i]*b[k];
b[k]=0;//
此处是必不可少的。因为内
存中会有垃圾值,必须要处理。
k++;
}
}
for(j=0; j
98
页。
{
a[j][n] /= a[j][j];
a[j][j] /=a[j][j];
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息