高斯求和问题(C语言程序设计)

 

 

#include<stdio.h>
 
int main()
{
    int i = 1;
    int n;
    int sum = 0;
    printf("Input n:");
    scanf("%d",&n);

    while(i <= n)
    {
        sum += i;
        i++;
    }
    printf("sum = %d\n", sum);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是一个用C语言编写的实现列主元高斯消去法的程序: ```c #include <stdio.h> #define N 3 void gaussianElimination(float matrix[N][N+1]) { int i, j, k; float factor, temp; for(i=0; i<N; i++) // 选择列主元 { for(j=i+1; j<N; j++) { if(matrix[i][i] < matrix[j][i]) { for(k=0; k<=N; k++) { temp = matrix[i][k]; matrix[i][k] = matrix[j][k]; matrix[j][k] = temp; } } } // 消元 for(j=i+1; j<N; j++) { factor = matrix[j][i] / matrix[i][i]; for(k=0; k<=N; k++) { matrix[j][k] -= factor * matrix[i][k]; } } } // 回代求解 float solutions[N]; for(i=N-1; i>=0; i--) { solutions[i] = matrix[i][N] / matrix[i][i]; for(j=i-1; j>=0; j--) { matrix[j][N] -= matrix[j][i] * solutions[i]; } } printf("解为:"); for(i=0; i<N; i++) { printf("%.2f ", solutions[i]); } } int main() { float matrix[N][N+1] = {{2, -3, 1, -2}, {-4, 7, 2, 3}, {3, -5, -2, 7}}; gaussianElimination(matrix); return 0; } ``` 这个程序实现了列主元高斯消去法的算法。先选择主元(本程序选择列主元),然后进行消元,将矩阵转化为上三角矩阵。然后进行回代求解,得到方程组的解。最后输出解。在示例中,使用3x3的矩阵,并将矩阵的最后一列用于存储方程组的右侧常数,通过调用`gaussianElimination`函数来计算方程组的解。 ### 回答2: 下面是一个用C语言编写的列主元高斯消去法程序: ```c #include <stdio.h> #define N 3 void gauss_elimination(float matrix[N][N + 1]) { int i, j, k; // 高斯消去法的消去过程 for (i = 0; i < N - 1; i++) { // 如果列主元为0,则进行行变换 if (matrix[i][i] == 0) { for (j = i + 1; j < N; j++) { if (matrix[j][i] != 0) { for (k = 0; k < N + 1; k++) { float temp = matrix[i][k]; matrix[i][k] = matrix[j][k]; matrix[j][k] = temp; } break; } } } // 消去操作 for (j = i + 1; j < N; j++) { float factor = matrix[j][i] / matrix[i][i]; for (k = 0; k < N + 1; k++) { matrix[j][k] -= factor * matrix[i][k]; } } } // 回代求解 float solution[N]; for (i = N - 1; i >= 0; i--) { solution[i] = matrix[i][N]; for (j = N - 1; j > i; j--) { solution[i] -= matrix[i][j] * solution[j]; } solution[i] /= matrix[i][i]; } // 输出结果 printf("方程组的解为:\n"); for (i = 0; i < N; i++) { printf("x%d = %.2f\n", i + 1, solution[i]); } } int main() { // 输入增广矩阵 float matrix[N][N + 1]; printf("请输入方程组的增广矩阵:\n"); for (int i = 0; i < N; i++) { for (int j = 0; j < N + 1; j++) { scanf("%f", &matrix[i][j]); } } // 调用高斯消去函数 gauss_elimination(matrix); return 0; } ``` 该程序首先使用`gauss_elimination`函数实现了列主元高斯消去法的消去和回代过程。然后在`main`函数中,用户可以输入方程组的增广矩阵,然后调用`gauss_elimination`函数来求解方程组,并输出结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值