> 文档中心 > c语言中常见的代码应用(九九乘法表、水仙花数、素数、最小公倍数、斐波那契数列、冒泡排序、猜拳)

c语言中常见的代码应用(九九乘法表、水仙花数、素数、最小公倍数、斐波那契数列、冒泡排序、猜拳)

一、九九乘法表

耳熟能详的九九乘法表,相信每个人小时候都被数学老师强迫背诵吧,看我们今日就用几行代码实现它

代码如下: 

#includeint main() {for (int i = 1; i < +9; i++) {for (int j = 1; j <= i; j++) {printf("%d*%d=%2d ", j, i, i * j);}printf("\n");}return 0;}

二、水仙花束

简介:          水仙花数是指一种三位数,其各个数之立方和等于该数。

                    水仙花数共有4个,分别为:153、370、371、407

举个例153=1的立方+5的立方+3的立方

代码如下:

#includeint main水仙花数() {for (int m = 100; m <= 999; m++) {int a = m / 100;//百位int b = m / 10 % 10;int c = m % 10;if (a * a * a + b * b * b + c * c * c == m) {printf("%d该数为水仙花数\n",m);}}while (true)  //这里使用死循环,防止程序闪退,也可以使用 getchar();{;}return 0;}

三、素数

简介:         素数又叫质数,素数是指在大于1的自然数中,除了1和它本身以外,不能被其他自然数 整除的数。

代码如下:

#include#include#includeint main(){/*for (int m = 3; m <= 100; m++){bool isok = true;for (int i = 2; i < m; i++) {if (m % 2 == 0) {isok = false;break;}}if (isok) {printf("%d是素数\n", m);}*/for(int m=3;m<=100;m++){bool isok = true;for (int i = 2; i <= sqrt(m); i++) { //sqrt 算术平方根的符号,使用需添加math.h 头文件if (m % 2 == 0) {isok = false;break;}}if (isok) {printf("%d是素数\n", m);}}return 0;}

 四、最小公倍数

简介:        两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。

代码如下:从键盘输入2任意两个数,并求出其最小公倍数

#includeint main() {int m=6, n=8;printf("请输入两个数");scanf_s("%d", &m);scanf_s("%d", &n);printf("%d %d", m, n);if (m == 0 || n == 0) {printf("你输入的数字有误,请重新输入");}int i=m > n ? m : n;for (i;; i++) {if (i % m == 0 && i % n == 0) {printf("这两个数的最小公倍数为:%d",i);break;}}while (1) { }return 0;}

五、斐波那契数列

 简介:        斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(≥ 2,∈ N*)

#includeint main斐波那契数列() {//斐波那契数列 数据规律// a[0]a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]  .......//1 1    2    3    5     8   13   21   34   55// s[0] s[1] s[2] s[3] s[4] s[5] s[6] s[7] s[8] s[9] ......//  1    2    4    7    12    20  33   54   88   143int array[20];int sum[20];array[0] = array[1]=1;sum[0] = 1;sum[1] = 2;for (int i = 2; i <= 19;i++) {array[i] = array[i - 1] + array[i-2];printf("array[%d]:%d\n",i ,array[i]);sum[i] = sum[i - 1] + array[i];printf("sum  [%d]:%d\n", i, sum[i]);if (i % 2 == 0) {printf("\n");}}while (true){}return 0;}

 六、冒泡排序

简介:        “冒泡排序“(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列)

#include#define maxSize 10int main冒泡排序() {int arr[6] = { 2,0,3,4,8,5 };for (int i = 0; i <= maxSize-1 ; i++) {for (int j = 0; j  arr[j + 1]) {int temp;temp= arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}for (int i = 0; i < maxSize; i++) {printf("arr[%d]=%d\n", i, arr[i]);}while (true){}return 0;}

七、猜拳

” 石头、剪刀、布“,这个相信每个人都不陌生吧,小时候都玩过吧。游戏规则相信你们都懂吧!

#include#include //为了设置时间函数#include//为了设置时间种子#define Rock 0//石头#define Sci 1//剪刀#define Pap 2//布int main() {srand((unsigned)time(0));     //设置随机数printf_s("\t\t\t\t\t*----------石头:0----------*\n");printf_s("\t\t\t\t\t**---------剪刀:1---------**\n");printf_s("\t\t\t\t\t***----------布:2---------***\n");int cur = -1;while (1){int sys = rand() % 3;  //使sys的数值在0 ~ 2之间/*printf_s("sys:%d\n", sys);*/printf_s("请输入你的拳(只能输入相对应的数字):");scanf_s("%d", &cur);if (cur 2) {printf_s("你输入的数字有问题,请重新输入\n");break;}if ((cur == 0 && sys == 1) ||(cur == 1 && sys == 2) ||(cur == 2 && sys == 0)) {printf_s("你赢了\n");}else if ((cur == 0 && sys == 2) ||(cur == 1 && sys == 0) ||(cur == 2 && sys == 1)) {printf_s("你输了\n");}elseprintf_s("平局\n");/*printf_s("cur: %d   sys: %d \n",cur,sys);*/printf_s("cur=%s   ", cur == 0 ? "石头" : (cur == 1) ? "剪刀" : "布");printf_s("sys=%s\n", sys == 0 ? "石头" : (sys == 1) ? "剪刀" : "布");}return 0;}

若是你能将这些代码看懂,那么恭喜你已经前脚迈进C语言的大门,至于你若想进一步提升为一名合格的程序员,这些还是远远不够的。让我们一起携手揭开编程这一层神秘的面纱......