📄 no.11.c
字号:
#include "conio.h"
#include "stdio.h"
void gauss(float a[][4], float* b, float* x, int n)
{
int k, i, j;
float s;
float l[10] = {0};
for (k = 0; k < n - 1; k++) {
if ( a[k][k] == 0 )
continue;
for (i = k + 1; i < n; i++) {
l[i] = a[i][k] / a[k][k];
for (j = k + 1; j <= n; j++) {
a[i][j] = a[i][j] - l[i]*a[k][j];
}
b[i] = b[i] - l[i]*b[k];
}
}
for (i = n-1; i >= 0; i--) {
s = 0;
for (j = i + 1; j < n; j++)
s = s + a[i][j] * x[j];
x[i] = (a[i][n] - s) / a[i][i];
}
}
void print(float* x, int n)
{
int i;
for (i = 1; i <= n; i++) {
printf("x[%d] = %4.2f \n", i, x[i-1]);
}
}
int main()
{
float a1[3][4] = {{1, 1, -1, 3}, {2, -1, 3, 0}, {-1, -2, 1, -5}};
float b1[3] = {3, 0, 5};
float x1[3] = {0};
float a2[2][4] = {{1, -2, 3}, {2, 1, 4}};
float b2[2] = {3, 4};
float x2[2] = {0};
gauss(a1, b1, x1, 3);
print(x1, 3);
printf("----------------------\n");
gauss(a2, b2, x2, 2);
print(x2, 2);
getch();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -