最近在上计算方法这门课,要求是用MATLAB做练习题,但是我觉得C语言也很棒棒啊~

题目:

一般三对角线性方程组的求解用这个方法,三对角线性方程组也称为带状矩阵,这方法基础上还是LU分解法,只是比LU分解法计算方法上简单一些。

使用VS2017,代码如下:

//使用追赶法求解线性方程组

#include "stdafx.h"

#include#include "math.h"

double **A, *b, *x, *y,**L,**U;

unsigned int RANK = 4;

unsigned int makematrix()

{

unsigned int r, c;

printf("请输入矩阵行列数,用空格隔开:");

scanf_s("%d %d", &r, &c);

A = (double**)malloc(sizeof(double*)*r);//创建一个指针数组,把指针数组的地址赋值给a ,*r是乘以r的意思

for (int i = 0; i < r; i++)

A[i] = (double*)malloc(sizeof(double)*c);//给第二维分配空间

for (int i = 0; i < r; i++) {

for (int j = 0; j < c; j++)

A[i][j] = 0.0;

}

b = (double*)malloc(sizeof(double)*r);

for (int i = 0; i < r; i++)

{

b[i] = 0.0;

}

x = (double*)malloc(sizeof(double)*c);

for (int i = 0; i < c; i++)

{

x[i] = 0.0;

}

L = (double**)malloc(sizeof(double*)*r);//创建一个指针数组,把指针数组的地址赋值给a ,*r是乘以r的意思

for (int i = 0; i < r; i++)

L[i] = (double*)malloc(sizeof(double)*c);//给第二维分配空间

for (int i = 0; i < r; i++) {

for (int j = 0; j < c; j++)

L[i][j] = 0.0;

}

U = (double**)malloc(sizeof(double*)*r);//创建一个指针数组,把指针数组的地址赋值给a ,*r是乘以r的意思

for (int i = 0; i < r; i++)

U[i] = (double*)malloc(sizeof(double)*c);//给第二维分配空间

for (int i = 0; i < r; i++) {

for (int j = 0; j < c; j++)

U[i][j] = 0.0;

}

y = (double*)malloc(sizeof(double)*c);

for (int i = 0; i < c; i++)

{

y[i] = 0.0;

}

return r;

}

void getmatrix(void)//输入矩阵并呈现

{

printf("请按行从左到右依次输入系数矩阵A,不同元素用空格隔开\n");

for (int i = 0; i < RANK; i++)

{

for (int j = 0; j=0; i--)

{

x[i] = (y[i] - A[i][i+1] * x[i + 1]) / U[i][i];

}

for (int i = 0; i

按设计的提示老老实实 输入题目的系数矩阵和常数向量后,得到运行结果:

c语言数学追赶法编程,计算方法——C语言实现——追赶法求解非线性方程相关推荐

  1. c语言编程 遍历字符串,请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789......

    导航:网站首页 > 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789... 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如 ...

  2. c语言odbc编程,c语言之odbc编程指南c语言之odbc编程指南.doc

    c语言之odbc编程指南c语言之odbc编程指南 ?摘要本文在介绍了ODBC(开放性数据库连接,Open? DataBase? Connectivity)运行机制的基础上,着重讨论了VisualC++ ...

  3. C语言编程计算差商表,计算方法C语言编程计算方法C语言编程.doc

    计算方法C语言编程第二章2已知方程在区间[1,2]内有一根,试问用二分法求根,使其具有5位有效数字至少应二分多少次?[程序设计]#includemain(){int n=0; float x1=1.0 ...

  4. 计算方法c语言编程,计算方法C语言编程计算方法C语言编程.doc

    计算方法C语言编程第二章2已知方程在区间[1,2]内有一根,试问用二分法求根,使其具有5位有效数字至少应二分多少次?[程序设计]#includemain(){int n=0; float x1=1.0 ...

  5. c语言用for编程图形,C语言编程题求解

    2009-05-13 C语言简单的编程题求解1.从键盘输入一 //将四个函数编成四个子函数了,在一个主函数里调用,你若需要,分别取出来用也可以.以下源代码,VS2005编译通过. //1.从键盘输入一 ...

  6. c语言省二级编程证书,c语言二级考试

    c语言二级考试[编辑] 概述 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.全国计算机等级考试有二级c语言这个考试的项目. C语言考试要求 1. 熟悉Visual C+ ...

  7. c语言嵌入式系统编程软件,C语言嵌入式系统编程软件设计研究论文

    C语言嵌入式系统编程软件设计研究论文 摘要:近年来,C语言编程在嵌入式系统越来越受到广大技术人员的青睐.介绍了C语言系统软件的编程思路,阐述了嵌入式系统编程软件架构的基本知识,包括模块划分.分层架构. ...

  8. 计算机c语言程序,计算机编程|C语言简介

    int main(void) { float total; printf('输入总钱数:\n'); scanf('%f',&total); int num; printf('输入红包数量:\n ...

  9. 嵌入式c语言汇编混合编程,嵌入式C语言和汇编语言的混合编程

    此文章简单介绍 单片机 C语言和汇编语言混合编程的例子.主要用单片机汇编语言编写DS1302的底层驱动,在C语言里通过调用汇编语言,从而实现C和汇编的混合编程. ;汇编语言源文件 ;========= ...

  10. c语言图形化编程入门_C语言C++新手入门,VS2013编程器安装教程

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

最新文章

  1. SQL查找是否存在,别再count了,很耗费时间的
  2. 数码管字体属于什么字体_photoshop里这方法就能知道图片上文字使用的是什么字体...
  3. Java基础-初识面向对象编程(Object-Oriented-Programming)
  4. 【收藏】Win10自带的邮件客户端配置腾讯企业邮箱账号详解
  5. MAC 下的简单 SHELL 入门
  6. oracle数据库部署策略,Oracle数据库部署实施流程
  7. php 快速排序函数,PHP实现快速排序算法的三种方法
  8. ie 出现 append无效
  9. erp从内部集成起步第3版下载_SCM与ERP的区别在哪里呢?
  10. 数值计算详细笔记(一):基础数学知识回顾
  11. java核心技术卷一适合初学者吗_为什么我觉得Java核心技术卷一写的不好呢?
  12. 2022保研面试经历
  13. mysql误删除数据恢复处理
  14. [玩转北京] 北京最值得你一看的博物馆大全
  15. 修改计算机用户名bat,修改计算机名.bat
  16. 【看表情包学Linux】Redirect 重定向 | 时间相关指令 | 文件查找 | 打包与压缩
  17. 如何用java让坦克发射子弹_java怎么制作坦克大战
  18. 前端技术-HTML页面的加载
  19. 硝酸浓度对多孔氧化锌薄膜刻蚀工艺能的影响
  20. 一个人最顶级的才华,是会填坑

热门文章

  1. Office在线预览-永中
  2. 面试 SQL整理 必考的SQL面试题:经典20题
  3. 联想小新13pro锐龙版网卡_诠释极致性价比 联想小新Pro 13标压锐龙版笔记本评测...
  4. 聊一聊关于“元宇宙”涉及的前端技术
  5. 计算机数据库技术的应用现状,计算机数据库技术的发展及应用
  6. VSCode摸鱼插件,让工作更轻松
  7. 白帽子讲web安全(精写含思维导图)
  8. 如何拼局域网所有ip_查看局域网内所有ip
  9. Eucalyptus学习汇总
  10. 怎么利用微博进行营销?