c语言程序设计现代方法算法pdf,C语言程序设计的常用算法.pdf

C 语言程序设计的常用算法

算法 (Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个

问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据 (输入什么数据、输

出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、

结构化流程图、伪代码等来描述算法。

一、计数、求和、求阶乘等简单算法

此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意

用来表示计数、和、阶乘的变量的初值。

例:用随机函数产生 100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,

4,5,6,7,8,9,0 的数的个数并打印出来。

本题使用数组来处理,用数组a[100]存放产生的确 100 个随机整数,数组x[10]来存放个位

上的数字分别为1,2,3,4,5,6,7,8,9,0 的数的个数。即个位是1的个数存放在x[1]

中,个位是2 的个数存放在x[2]中,……个位是0 的个数存放在x[10]。

程序代码如下:

#include

///

voidmain()

{

int a[101],x[11],i,p;

for(i 0;i< 11;i++)

x[i] 0;

for(i 1;i< 100;i++)

{

a[i] rand()%100;

printf("%4d",a[i]);

if(i%10 0)

printf("\n");

}

for(i 1;i< 100;i++)

{

p a[i]%10;

if(p 0)

p 10;

x[p] x[p]+1;

}

for(i 1;i< 10;i++)

{

p i;

if(i 10)

p 0;

printf("%d,%d\n",p,x[i]);

}

printf("\n");

}

二、求两个整数的最大公约数、最小公倍数

最大公约数的算法思想(最小公倍数 两个整数之积/最大公约数):

(1)对于已知两数m,n,使得m>n;

(2)m 除以n 得余数r;

(3)若r 0,则n 为求得的最大公约数,算法结束;否则执行(4);

(4)m←n,n←r,再重复执行(2)。

例:求 m 14,n 6 的最大公约数。

程序代码如下:

#include

///

voidmain()

{

intnm,r,n,m,t;

printf("pleaseinputtwonumbers:");

scanf("%d,%d",&m,&n);

nm n*m;

if(m

{

t n;

n m;

m t;

}

r m%n;

while (r! 0)

{

m n;

n r;

r m%n;

}

printf("G.C.D:%d\n",n);

printf("L.C.M:%d\n",nm/n);

}

三、判断素数

只能被 1或本身整除的数称为素数。基本思想:把m 作为被除数,将2-sqrt(m)作为除数,

如果都除不尽,m 就是素数,否则就不是。

程序代码如下:

#include

#include

///

voidmain()

{

intm,i,k;

printf(

第1章 多项式计算 1.1 一维多项式求值 1.2 一维多项式多组求值 1.3 二维多项式求值 1.4 复系数多项式求值 1.5 多项式相乘 1.6 复系数多项式相乘 1.7 多项式相除 1.8 复系数多项式相除 1.9 实系数多项式类 1.10 复系数多项式类 第2章 复数运算 2.1 复数乘法 2.2 复数除法 2.3 复数乘幂 2.4 复数的n次方根 2.5 复数指数 2.6 复数对数 2.7 复数正弦 2.8 复数余弦 2.9 复数类 第3章 随机数的产生 3.1 产生0-1之间均匀分布的一个随机数 3.2 产生0-1之间均匀分布的随机数序列 3.3 产生任意区间内均匀分布的一个随机整数 3.4 产生任意区间内均匀分布的随机整数序列 3.5 产生任意均值与方差的正态分布的一个随机数 3.6 产生任意均值与方差的正态分布的随机数序列 第4章 矩阵运算 4.1 实矩阵相乘 4.2 复矩阵相乘 4.3 一般实矩阵求逆 4.4 一般复矩阵求逆 4.5 对称正定矩阵的求逆 4.6 托伯利兹矩阵求逆的特兰持方法 4.7 求一般行列式的值 4.8 求矩阵的秩 4.9 对称正定矩阵的乔里斯基分解与行列式求值 4.10 矩阵的三角分解 4.11 一般实矩阵的QR分解 4.12 一般实矩阵的奇异值分解 4.13 求广义逆的奇异值分解法 第5章 矩阵特征值与特征向量的计算 5.1 约化对称矩阵为对称三对角阵的豪斯荷尔德变换法 5.2 求对称三对角阵的全部特征值与特征向量 5.3 约化一般实矩阵为赫申伯格矩阵的初等相似变换法 5.4 求赫申伯格矩阵全部特征值的QR方法 5.5 求实对称矩阵特征值与特征向量的雅可比法 5.6 求实对称矩阵特征值与特征向量的雅可比过关法 第6章 线性代数方程组的求解 6.1 求解实系数方程组的全选主元高斯消去法 6.2 求解实系数方程组的全选主元高斯-约当消去法 6.3 求解复系数方程组的全选主元高斯消去法 6.4 求解复系数方程组的全选主元高斯-约当消去法 6.5 求解三对角线方程组的追赶法 6.6 求解一般带型方程组 6.7 求解对称方程组的分解法 6.8 求解对称正定方程组的平方根法 6.9 求解托伯利兹方程组的列文逊方法 6.10 高斯-赛德尔迭代法 6.11 求解对称正定方程组的共轭梯度法 6.12 求解线性最小二乘问题的豪斯荷尔德变换法 6.13 求解线性最小二乘问题的广义逆法 6.14 求解病态方程组 第7章 非线性方程与方程组的求解 7.1 求非线性方程实根的对分法 7.2 求非线性方程一个实根的牛顿法 7.3 求非线性方程一个实根的埃特金迭代法 7.4 求非线性方程一个实根的试位法 7.5 求非线性方程一个实根的连分式法 7.6 求实系数代数方程全部根的QR方法 7.7 求实系数代数方程全部根的牛顿下山法 7.8 求复系数代数方程全部根的牛顿下山法 …… 第8章 插值与逼近 第9章 数值积分 第10章 常微分方程组的求解 第11章 数据处理 第12章 极值问题的求解 第13章 数学变换与滤波 第14章 特殊函数的计算 第15章 排序 第16章 查找 参考文献 作者介绍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值