自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 【大学】北理工的恶龙

最近,北理工出现了一只恶龙,它长着很多 头,而且还会吐火,它将会把北理工烧成废墟, 于是,校长下令召集全校所有勇士杀死这只恶龙。既然我们希望先给各个龙头和身高排序,那么我们输入的那些龙头和身高之值就变成了内部有(大小)关系的两组数,为了便于处理这种数,我们可以使用二维数组来储存,再任取一种排序算法来排序即可,我在此使用了冒泡排序法。情况1,我们的任务完成了,所有龙头都被杀死,这时我们也不用管勇士还有没有了,用ctr算算我们花了多少学分即可。情况2,勇士换完了,还是有龙头活着,北理工又被毁灭了。

2024-04-20 20:19:20 527

原创 【字符】单词排序

这道题的难点在于用什么方式进行单词间的比较,幸运的是,字符串函数strcmp的功能可以完美解决任务。它可以比较两个字符串的大小,比较方式正合题意,若前一个字符串大于/等于/小于后一个字符串,则返回大于/等于/小于0的数。依靠这一函数,我们再任取一种排序算法来构建框架即可,这里我选用了选择排序法,即依次选择最左面的数为假定的最值,与后面比较,若后面有超越假定最值的数,则二者互换位置。输入 5 个单词,将它们按从大到小的顺序排列后输出。

2024-04-20 19:45:47 199

原创 图形题-打印三角形

要求的图形最后一行的数字和行数之间的规律我们能找到,图形最后一行的的数字和第二行至倒数第二行的第一个数字之间的规律我们也能找到,它也和行数有关。这样的话,我们只需先推出最后一行的数字(btm),再用它来推我们难以直接求的第二行至倒数第二行的第一个数字(frt)就好了。修复这个bug的过程启示我测试用例最好设个很大的,再设个很小的。这道题的难点在于,我们依照按行打印的思路,虽然不难找到第一行、其后每行第二个数字以及空格的规律,但却难以找到其后每行第一个数字和行数之间的规律。(数字递增,若超过9,则从0开始)

2024-04-14 18:14:20 889 1

原创 【字符】合并字符串

如果没有上述要求,我们完全可以把两个字符串放在一起,然后冒泡排序。对于两个自身已经有序的字符串来说,这种方法就在于从它们的开头位置分别拿一个元素,互相比较,较小的进入最终的输出,然后继续以“车轮战”的方式比较下去。输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到 大排列。两个已经排好顺序(升序)的两个字符串(字符串长度小于100个字符)设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。如果采用先进行串连接,然后再进行排序的算法,则效率太低了。

2024-04-14 17:55:19 333 1

原创 【字符】组成最大数

它的思路是用两层for循环嵌套,外层循环输入的数字的位数“len”次,内层从最左侧的数字开始,与其右侧相邻数比较,如果比其小,则二者互换位置,如此循环“len-1-外层循环已经循环的次数”次。如果某次循环没有任何互换位置的情况发生,则说明已经排列完毕,停止循环并输出结果。为什么是“len-1-外层循环已经循环的次数”次呢?每完成一次外层循环,这组数中的最值,必定已经如泡泡般浮到了边界位置,所以下一次就可以少比较一次了。任意输入一个自然数,输出该自然数的各位数字组成的最大数。输出:各位数字组成的最大数。

2024-04-10 17:32:29 332 1

原创 【中学】求最后3位数值

于是我们可以把n次方拆分成n次“乘以n”,每次“乘以n”后都让数值对1000取模,这样就不会有数值过大的问题了。小明在中学会求一个数的 n 次方了,但计算机还不会,请你来编写一个程序吧。由于计算机比较“笨”,所以我们编写程序的功能不用太强,只要能算出 a 的 n 次方的最后 3 位数就可以了。看到题目,我们难免会觉得它太小儿科了:直接算输入值的n次方,再对1000取模不就行了?然而我们看到测试用例3,100的10次方是100亿,这显然太大了。你用的是什么数据类型?求 a 的 n 次方的最后 3 位数。

2024-04-10 17:15:46 183 1

原创 【穷举】零钱换整钱

小红拿出若干张10元的纸币,小明要将 1 角的硬币放成一摞,将 5 角的硬币放成一摞,将 1 元的硬币放成一摞,如果 3 摞硬币一样高,且三摞硬币的金额之和正好等于小红要求的面值,则双方交换,否则没有办法交换。不过这样做不够优化,假如我们输入的10元钱币数量很多,那相应的,找零所需的三种硬币的数量也会很多。由于三种硬币的厚度必须相等才能输出,所以他们的数量关系其实满足一个恒定的比值,即10:12:9。看到题目,我们可以很自然地想到穷举法,用三个for循环嵌套,直到试出符合要求的三个数值,否则输出无法找零。

2024-04-10 16:59:13 240 1

原创 【图形】数字菱形

当然,原来输出一个*号的地方只占一个字符的位置,现在都要改为2个字符的位置,如果输出的是数字且多于2个,则要是%3d或%4d了。本题图形是关于第n行对称的,我们可以先写第1到n行的循环。第n行以后的图形,观察可知每行空格数量变为hang-n,循环次数只需把第一自然段写的hang替换为2倍的n-hang(求>n的hang,关于n对称的那个

2024-04-06 14:17:59 828 1

原创 【图形】空心的倒三角型

请根据要求打印可空心倒三角形。

2024-04-06 13:44:17 207 1

原创 【中学】找出最大素数

找出所有素数再比较诚然是一种方法,不过我的思路是以逆向思维的方式,从最大边界开始找,找不到就-1再继续,一旦找到就打印并终止程序。找到素数并非难事,只需用两次for循环,外层在范围内提供数字,内侧判断这些数字是否为素数。真正的难点在于如何找出最大的那个素数。小明在中学学习了什么是素数。素数是指一个只能被1和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。

2024-04-06 13:28:48 213 1

原创 【小学】三做一年级算术题

针对这些困难,依次给出我的解决方法:1.建立一个很大的字符数组,因为将整数以字符的形式存储后,若要使用其作为整数的大小,只需减去‘0’;2.使用gets()的方式读取输入的数据,使用strlen()来读取字符数组长度,以判断后续处理数据时何时停止;两个一年级小朋友在一起玩游戏,小明给出一堆一位的正整数和运算要求(+、-、*、/、%),小丽要找出这些整数中的最大值和最小值,然后按照小明的要求算出最大数与最小数进行算术运算的结果。本题的难点在于:1.输入的数据既有整数又有字符;3.输入的整数和字符要分别处理。

2024-04-06 13:09:31 256

原创 【中学】寻找特殊偶数

使用数组中的数据时也要应用循环,我这里也用for循环+flag2来判断何时终止数据的使用:用到0了就停止,没用到就正常按流程走。别忘了打印计数器(ctr)的数据后让计数器归零,以便下次循环使用。本题的难点在于多次(循环)输入完成后,一次性输入结果。这种循环输入其实很符合数组的输入方式,我们不妨建立一个二维数组来储存每次输入的两个数字。所要寻找的四位偶数的范围。如果输入遇到0,输入结束。有一种特殊偶数,它每一位上的数字都两两不相同。列出此范围内的所有特殊偶数,并且列出此范围内特殊偶数的个数。

2024-04-06 12:57:09 272 1

原创 【日期】确定母亲节

母亲节是5月第二个星期日,其与5月1日最多差14天,所以其最迟,也不能迟于5月14日。因此我们其实可以算出5月14日是星期几:要是星期日,当天为母亲节;要是星期n(n为1到6的整数),那就往前回溯n天后是母亲节。我们此前已经做过一个根据日期求星期的程序,其本质是使用一个while循环,从1900年1月1日(星期一)循环到输入的日期,算出经历了多少天,再对7取模并加1。母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节。日期(5月的哪一天)

2024-04-06 12:39:45 194 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除