算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。也许他们能在你的毕业设计或者面试中派上用场。
1、计算Fibonacci数列
Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。
C语言实现的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
结果输出:
Enter number of terms: 10 Fibonacci Series: 0+1+1+2+3+5+8+13+21+34+
也可以使用下面的源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
结果输出:
Enter an integer: 200 Fibonacci Series: 0+1+1+2+3+5+8+13+21+34+55+89+144+
2、回文检查
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
结果输出:
Enter an integer: 12321 12321 is a palindrome.
3、质数检查
注:1既不是质数也不是合数。
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
结果输出:
Enter a positive integer: 29 29 is a prime number.
4、打印金字塔和三角形
使用 * 建立三角形
* * * * * * * * * * * * * * *
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
如下图所示使用数字打印半金字塔。
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
用 * 打印半金字塔
* * * * * * * * * * * * * * *
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
用 * 打印金字塔
* * * * * * * * * * * * * * * * * * * * * * * * *
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
用 * 打印倒金字塔
* * * * * * * * * * * * * * * * * * * * * * * * *
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
5、简单的加减乘除计算器
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
结果输出:
Enter operator either + or - or * or divide : - Enter two operands: 3.4 8.4 3.4 - 8.4 = -5.0
6、检查一个数能不能表示成两个质数之和
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
结果输出:
Enter a positive integer: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
7、用递归的方式颠倒字符串
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
结果输出:
Enter a sentence: margorp emosewa awesome program
8、实现二进制与十进制之间的相互转换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
|
结果输出:
9、使用多维数组实现两个矩阵的相加
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
结果输出:
10、矩阵转置
源代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
结果输出: