复试上机代码回顾
文章平均质量分 55
日常学习
Rick_rui
这个作者很懒,什么都没留下…
展开
-
上机回顾day6
排序算法大全 1.冒泡排序 1.冒泡排序是比较简单的排序算法,它的运作过程如下: 2.进行n-1次排序。 3.每次排序从0~n-1-i(i是次数编号),检查这个序列中的数,两两相邻的数,如果前面的大于后面的就将它们交换,这样使得大的数往后面走,每次冒泡就会将一个大的数往后面冒,从而达到目的。 算法核心代码: void bubble_sort(int arr[], int len) { int i, j, temp; for (i = 0; i < len - 1; i+原创 2022-04-05 22:04:27 · 598 阅读 · 0 评论 -
代码回顾day5
找鞍点 问题描述:一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。 输入:第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。 输出:在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。 优化目标:无。 算法思想描述 通过flag来表示是否有鞍点 0则无 在循环内判断是有还是无 若有则flag++ 所以无鞍点的时候f原创 2022-04-04 17:12:14 · 225 阅读 · 0 评论 -
上机回顾day4
模拟报数游戏(约瑟夫环问题) 问题描述:有n个人围成一圈,从1开始按顺序编号,从第一个人开始从1到k报数,报到k的人退出圈子;然后圈子缩小,从下一个人继续游戏,如此下去,直到留下最后一个人。要求定义函数实现。 输入:int类型的初始n与自由指定报数k。 输出:每个人的退出顺序编号。 优化目标:利用循环双链表解决。 算法描述: #include <stdio.h> #define MAXN 20 void CountOff( int n, int m, int out[] ); int mai原创 2022-04-03 17:31:44 · 3289 阅读 · 0 评论 -
上机回顾day3
汉诺塔递归与非递归的实现 问题描述: 汉诺塔问题源自印度一个古老的传说,印度教的“创造之神”梵天创造世界时做了 3 根金刚石柱,其中的一根柱子上按照从小到大的顺序摞着 64 个黄金圆盘。梵天命令一个叫婆罗门的门徒将所有的圆盘移动到另一个柱子上,移动过程中必须遵守以下规则: 1、每次只能移动柱子最顶端的一个圆盘; 2、每个柱子上,小圆盘永远要位于大圆盘之上; 输入:一个正整数N,为起始柱上的盘数。 输出:每一步移动操作(%c -> %c格式输出)。 算法优化:无。 递归算法思路: (1)先将 n -原创 2022-04-01 20:48:43 · 262 阅读 · 0 评论 -
上机题目回顾day2
题目:求自定类型元素序列的中位数 实现一个函数,求N个集合元素A[]的中位数,序列中第⌊(N+1)/2⌋大的元素。集合元素的类型为自定义的ElementType。 函数接口定义: ElementType Median( ElementType A[], int N ); 其中给定集合元素存放在数组A[]中,正整数N是数组元素个数。该函数须返回N个A[]元素的中位数,返回值也必须是ElementType类型。 算法思想描述: #include <stdio.h> #define MAXN 1原创 2022-03-31 18:28:40 · 100 阅读 · 0 评论 -
上机题目回顾day1
题目:阶乘计算升级版 本题要求实现一个打印非负整数阶乘的函数。 函数接口定义: void Print_Factorial ( const int N ); 其中N是用户传入的参数,其值不超过1000。如果N是非负整数,则该函数必须在一行中打印出N!的值,否则打印“Invalid input”。 裁判测试程序样例: #include <stdio.h> void Print_Factorial ( const int N ); int main() { int N;原创 2022-03-30 16:00:33 · 472 阅读 · 0 评论