1 加法器与累乘器
代码
累加器
1 |
|
累乘器:
1 |
|
2 求最大数与最小数
题目描述
输入5个数
样例输入
1 | 21 12 5 78 485 |
样例输出
1 | max:485 min:5 |
代码
1 |
|
3 排序算法
冒泡排序
算法原理
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
题目描述
输入10个数,从小到大排序
样例输入
1 | 15 23 2 6 9 46 75 6 8 10 |
样例输出
1 | 2 6 6 8 9 10 15 23 46 75 |
代码
1 | #include <stdio.h> |
选择排序
算法原理
第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。
代码
1 |
|
插入排序
算法原理
主要的实现思想是将数据按照一定的顺序一个一个的插入到有序的表中,最终得到的序列就是已经排序好的数据。
代码
1 |
|
希尔排序
算法原理
代码
1 |
|
归并排序
算法原理
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案”修补”在一起,即分而治之)。
代码
1 |
|
快速排序
算法原理
代码
1 |
|
4 大小写字母转换
样例输入
1 | aBujZx |
样例输出
1 | ABUJZX |
代码
1 |
|
5 统计字符串中的字母,数字,空格,其他个数
样例输入
1 | aBcd48_@ 653 |
样例输出
1 | 字母有: 4 个 |
代码
1 |
|
6 判断闰年
样例输入
1 | 1900 |
样例输出
1 | 1900 year is not leap year |
代码
1 | #include <stdio.h> |
7 百分制成绩和等级制成绩转换
题目描述
代码
1 |
|
8 求两数最大公因数和最小公倍数(辗转相除法/欧几里得算法)
算法原理
样例输入
1 | 3139 2117 |
样例输出
1 | 最大公约数 73,最小公倍数 91031 |
代码
1 |
|
9 求斐波拉契数列有限项(递归应用)
样例输入
1 | 9 |
样例输出
1 | 34 |
代码
1 | #include <stdio.h> |
10 验证哥德巴赫猜想(素数验证应用)
题目描述
数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。
样例输入
1 | 42 |
样例输出
1 | 42 = 5 + 37 |
代码
1 |
|
11 水仙花数
题目描述
样例输出
1 | 153 370 371 407 |
代码
1 |
|
12 完全平方数
题目描述
一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,请问该数是多少?
完全平方数:开方之后是整数
样例输出
1 | 21 261 1581 |
代码
1 |
|
13 完数
题目描述
它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身,1 不是完数
样例输出
1 | 6 is factors are 1 2 3 |
代码
1 | #include <stdio.h> |
14 梯形法求定积分近似值
题目描述
求函数X^2的定积分近似值
样例输入
1 | 0 1 |
样例输出
1 | 0.353804 |
代码
1 |
|
15 牛顿迭代法求多元方程根
题目描述
样例输出
1 | 2.000000 |
代码
1 |
|
16 二分法求多次方根
题目描述
样例输入
1 | enter x1,x2:-10,10 |
样例输出
1 | x= 2.00 |
代码
1 | #include <stdio.h> |
17 求两个矩阵相乘
样例输入
1 | 输入第一个矩阵: |
样例输出
1 | 27 30 33 |
代码
1 |
|
18 利润利息计算
代码
1 | //利息计算 |
19 年月日判断是年份的第几天
样例输入
1 | Please input year/mouth/day:2000/4/2 |
样例输出
1 | its 93 day |
代码
1 | #include <stdio.h> |
20 图形输出
1 | //图形输出问题 |
21 输出乘法表
样例输出
1 | 1×1=1 |
代码
1 |
|
22 兔子问题(斐波那契数列应用)
题目描述
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
代码
1 | #include <stdio.h> |
23 分解质因数
代码
1 |
|
24 求sn=a+aa+aaa+aaaa+aa…a
代码
1 | //注意an的求法 |
25 小球下落问题
题目描述
一球从100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10 次反弹多高?
样例输出
1 | Total 299.609375 |
代码
1 |
|
26 比赛排序
1 | //比赛排序问题 |
27 阶乘的和
代码
1 |
|
28 递归逆序输出字符
代码
1 | //注意,一定要在putchar()之前调用递归函数,另外注意:getchar()是从输入流中获取一个字符,所以输入的时候格式就是abcde,并非像scanf那样输入一个字符后,按回车或者Tab后再输入下一个字符。 |
29 求一个整数的位数且逆序打印
样例输入
1 | Please input an integer! |
样例输出
1 | 654987 |
代码
1 |
|
30 判断回文数
样例输入
1 | 12121 |
样例输出
1 | 12121 是回文数 |
代码
1 | //思路:反着排一遍,如果和原数相同则为回文数 |
31 判断字符串是否为回文
样例输入
1 | abcdcba |
样例输出
1 | 是回文 |
代码
1 |
|
32 顺序队列中插入新元素
代码
1 |
|
33 杨辉三角形
)
代码
1 |
|
34 约瑟夫环问题
题目描述
一堆猴子都有编号,编号是1,2,3 …m,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
样例输入
1 | 请输入猴子的总数:6 |
样例输出
1 | 它出列了:5 |
代码
1 |
|
35 八进制转十进制
代码
1 |
|
36 鸡兔同笼
题目描述
已知鸡和兔的总数量为n
,总腿数为m
,输入n
和m
,依次输出鸡的数目和兔的数目。如果无解则输出No answer
。
样例输入
1 | 14 32 |
样例输出
1 | 12 2 |
代码
1 | ///巧解,先算出鸡的数量再算兔子的数量,根据均>=0判断是否有解 |
37 三天打鱼两天晒网
题目描述
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的以后的某一天中是打鱼还是晒网。
代码
1 | /*中国有句俗语“三天打鱼两天晒网”, |
38 汉诺塔问题
问题描述
需要移动的次数是2^n^-1
)
样例输入
1 | input the number of disks:3 |
样例输出
1 | the step: |
代码
1 |
|
39 数组循环移位
题目描述
样例输入
1 | 6 2 |
样例输出
1 | 5 6 1 2 3 4 |
代码
方法一:递归的方法
方法二:直接移位,大问题化小问题
1 |
|
40 线性表
翔哥代码:
1 | /* |
java版本:
1 | class person{ |
41 单链表
翔哥代码:
1 | /* |
Java版本:
1 | //Java没有指针,用对象引用的方法 |
42 链表合并排序
题目描述
已有a、b两个链表,每个链表中的节点包括学号、成绩,且a、b两个链表中的节点均按照学号升序排列。要求把两个链表合并,按照学号升序排列并输出。
样例输入
1 | Please input n m:[1-100] |
样例输出
1 | Output: |
代码
1 | ///方法一:直接合并 |
1 | //方法二:先合并,再使用冒泡排序 |
43 链栈
翔哥代码
1 | /* |
44 循环队列
翔哥代码
1 | //1. 循环队列为空:Q.rear=Q.front |
45 链队列
翔哥代码
1 | /* |
46 二分查找
样例输入
1 | 请输入10个单调递增的数:5 10 13 18 20 24 27 31 33 39 |
样例输出
1 | 20在4位置 |
代码
1 |
|