100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 你所不知道的C语言经典九大编程实例思想

你所不知道的C语言经典九大编程实例思想

时间:2018-11-27 03:17:03

相关推荐

你所不知道的C语言经典九大编程实例思想

获取更多精彩文章请关注云主宰苍穹

引言:对于学习计算机编程语言而言,一门编程语言的经典思想是十分重要的。这是一门计算机编程语言的特色优点,是其解决问题的经典思维。你所了解的C语言,有哪些经典的编程实例思想,欢迎下方留言交流!

编程实例思想1

/*

**Function:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

分析:三位数在个位、十位、百位都有四种排列组合,

然后再排除重复的排列组合

使用三层for循环进行排列组合,逻辑&&判断排除重复组合

**Author:@云主宰苍穹

**Date:-02-27

*/

编程实例思想2

/*

**Function:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,

请问该数是多少?

程序分析:

假设该数为 x。

1、则:x + 100 = n2, x + 100 + 168 = m2

2、计算等式:m2 - n2 = (m + n)(m - n) = 168

3、设置: m + n = i,m - n = j,i * j =168,i 和 j 至少一个是偶数

4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 都是偶数,要么都是奇数。

5、从 3 和 4 推导可知道,i 与 j 均是大于等于 2 的偶数。

6、由于 i * j = 168, j>=2,则 1 < i < 168 / 2 + 1。

7、接下来将 i 的所有数字循环计算即可。

**Author:@云主宰苍穹

**Date:-02-28

*/

编程实例思想3

/*

**Function:输入某年某月某日,判断这一天是这一年的第几天?

程序分析:以3月5号分析,应该先把前两个月的加起来,然后在加上天数5即可;

特殊情况,判断本年是否是闰年,是闰年则多加一天即可。

**Author:@云主宰苍穹

**Date:-03-01

*/

编程实例思想4

/*

**Function:题目:输出9*9口诀

程序分析:考虑行与列,九行九列,row控制行,column控制列

1.左对齐

方式1

printf("%d\n",101010);

默认打印格式为左对齐;

方式2

printf("%-10d\n",101010);

在打印数字宽度前面加一个“-”。

说明:数字宽度为10,如果要打印的位数小于10,则在后面补足空格;

如果要打印的位数大于10,则打印所有的数字,不会截断。

2.右对齐

printf("%10d",101010);

在%和d之间加上数字宽度,就可以右对齐。

说明:数字宽度为10,如果要打印的位数小于10,左边补足空格;

如果要打印的位数大于10,则打印所有的数字,不会截断

**Author:@云主宰苍穹

**Date:-03-02

*/

编程实例思想5

/*

**Function:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,

小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,

问每个月的兔子总数为多少?(输出前40个月即可)

程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,

即下个月是上两个月之和(从第三个月开始)。

**Author:@云主宰苍穹

**Date:-03-03

*/递归:斐波那契数列,不建议采用这种方法。因为占据内存资源开销大,而且递归耗时。

编程实例思想6

/*

**Function:判断1到200之间的素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),

如果能被整除, 则表明此数不是素数,反之是素数

**Author:@云主宰苍穹

**Date:-03-03

*/

编程实例思想7

/*

**Function:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,

其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",

因为153=1的三次方+5的三次方+3的三次方。

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

**Author:@云主宰苍穹

**Date:-03-04

*/

//三位数的拆分

singleDigit = number%10;

intermediateVariable = number/10;

tenDigit = intermediateVariable%10;

hundredsDigit = intermediateVariable/10;

这样拆分最适合计算机硬件的要去!

编程实例思想8

/*

**Function::将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于(小于的时候,继续执行循环)n,

则说明分解质因数的过程已经结束,另外 打印出即可。

(2)但n能被k整除,则应打印出k的值,并用n除以k的商,

作为新的正整数n.重复执行第二步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步

**Author:@云主宰苍穹

**Date:-03-04

*/

编程实例思想9

/*

**Function::输入两个正整数m和n,求其最大公约数和最小公倍数。

程序分析:

(1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数;

(2)求最大公约数用辗转相除法(又名欧几里德算法)

1)证明:设c是a和b的最大公约数,记为c=gcd(a,b),a>=b,

令r=a mod b

设a=kc,b=jc,则k,j互素,否则c不是最大公约数

据上,r=a-mb=kc-mjc=(k-mj)c

可知r也是c的倍数,且k-mj与j互素,否则与前述k,j互素矛盾,

由此可知,b与r的最大公约数也是c,即gcd(a,b)=gcd(b,a mod b),得证。

2)算法描述:

第一步:a ÷ b,令r为所得余数

(0≤r 第二步:互换:置 a←b,b←r,并返回第一步。

**Author:@云主宰苍穹

**Date:-03-05

*/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。