台州学院ACM全家桶
折木
这个作者很懒,什么都没留下…
展开
-
5338: 数据结构实验:创建单链表
根据PrintLinkList可以看出结构体Node中的成员{int data , struct Node next}可以推测是用于生成链表,那么n就是链表总数,返回值为链表Node的指针,想必是首个链表的(起始)地址。另外需要注意一点,Node前面没有写struct,说明我们要用到另一个保留字“typedef”在main函数中有一个CreateLinkList(n)其中Data是输入的数据(案例中为1 2 3)next是下一个结构体的(起始)地址。原创 2022-11-26 14:16:55 · 400 阅读 · 1 评论 -
1741: 通讯录编排
字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法。其方法是,按照字母顺序,或者数字小大顺序,由小到大的形成序列。比较麻烦的可能是这个比较字符串的值(因为我们通常比较的是字符的,字符串怎么比啊)对于字符串,就是先比较第一个字符,再比较第二个…如果一样就看长度,短的放前面。里面这个一大堆if以前可以只写成一行,不过为了提高阅读性。按照题目的描述,可以把我们需要的功能分成几个部分。另外结构体里的数组要定义大小,不然会报错。对于数字,按大小排序。原创 2022-11-26 11:13:18 · 537 阅读 · 0 评论 -
5350: C实验:打印数组各行的和
需要注意:这里的a跨度为20,而不是m的原因,是因为在main函数的设计中,a数组的每行长度固定为20了。PrintSum里给的三个参数分别是(第一行的起始地址,最后一行的起始地址,每行的数据长度)所以只需要写个循环,让指针从第一行跑到最后一行。题意大致就是把每行的数加在一起求和。原创 2022-11-22 14:30:00 · 497 阅读 · 0 评论 -
1483: C语言实验题――汉诺塔
当然,如果你们用他的代码跑不出来,那是因为他是从A移动到B,而我们题目要求是从A移动到C。顺便把我写的从A移动到C的代码放在这,理解不了的可以对比着看一下。想到这题用递归的是不是天才我不知道,反正肯定比我厉害。很难的一题,我拿着指针做了半天,没找到规律。(所以没好意思给这篇博客标明原创)原创 2022-11-15 20:33:08 · 739 阅读 · 0 评论 -
1245: 寻找素数对
如果说n/2是素数对中的一个其中一个素数的话,又考虑到n必为偶数,那另一个数必须是n/2本身,这样n/2+n/2才能等于n。但两个素数应该不能相同才对。(但从i原创 2022-11-15 15:58:29 · 442 阅读 · 1 评论 -
2624: 避雨
读入数据时,因为接下来存入数组的是字符值,所以要小心换行符的干扰。(解决办法:m+1)原创 2022-11-11 15:59:20 · 519 阅读 · 2 评论 -
1481: C语言实验题――鞍点
【代码】1481: C语言实验题――鞍点。原创 2022-11-08 14:56:03 · 742 阅读 · 0 评论 -
1423: 数塔
我原先还担心a[100][100]这种数组生成会占用过多内存,但一个int才2字节,10000个int也就20000字节(20000B),即20KB。所谓DP算法,就是“将需要重复计算的问题保存起来,不需要下次重新计算”,比起递归的算法复杂度要低很多。没看清要动态规划,写了个递归,然后还发现c语言居然不能返回数组。最后借其他同学的代码看了看,写的很好(所以我就不自己写了,哈哈哈哈)这题说是个DP算法,我就跑去查了一下。原创 2022-11-08 13:10:24 · 305 阅读 · 0 评论 -
1532: 校门外的树
最后统计还剩多少树。原创 2022-11-01 14:08:14 · 223 阅读 · 0 评论 -
1163: 统计1到N之间数字1的个数
如果只将题目逻辑写成代码,当N=10000和N=10001的时候,程序还需要计算两次,非常冗余。所以我们设计的程序可以换一种思路:提前算好。考虑到题目没有限定输入数据的组数,因此可能会输入很多数据。原创 2022-10-25 14:16:48 · 1321 阅读 · 7 评论 -
1386: 十转换转R进制
然后写循环内的代码,考虑N为负数或者为零的特殊情况。先把0-F存进字符数组c[16]到这里要提一下,其实题目里说的。其实是指32位2进制。原创 2022-10-18 11:27:15 · 573 阅读 · 0 评论 -
0000:C语言——帮DW选择高跟鞋
首先说明,这题在台州学院ACM平台上没找到,所以我给它标号0000(台州学院平台的题目计数是从1001开始的)。至于为什么要放上来,因为问我的同学希望不使用数组来解决这道题目。所以我觉得设计代码的思路可以拿来分享一下。原创 2022-10-18 09:59:18 · 489 阅读 · 0 评论 -
1480: C语言实验题――约瑟夫问题
这个约瑟夫问题解法其实蛮多的,最省脑子的一种就是把计算逻辑原封不动的用代码写出来。然后对两个数组划分为存活区和死亡区(1和0),这一步是省略循环次数的关键。每次淘汰玩家时,就将玩家编号和状态向后移动,直到移动到死亡区(即。来到死亡区,就退出循环重新开始,但用于计数的count不变。用来标记玩家的状态,即(1、表示在场内,0、表示被淘汰)遭遇滑铁卢,这题害得我平台AC的打卡断了一天。想了半天没想到解决方案,于是今天换了个思路。我在原基础上多了个数组。然后将原本存储玩家信息的。先说结果:超时了 :(原创 2022-10-18 09:45:45 · 999 阅读 · 2 评论 -
1169: C语言实验题――保留整数
因此当输入涉及到空格,而你又需要整行输入时,可以使用。scanf函数会在读入空格时暂停。这种办法,会在读入换行符时结束。原创 2022-10-16 15:37:11 · 1077 阅读 · 0 评论 -
1168: C语言实验题――最值
输入输出样例输入样例输出没什么好说的,提个陷阱。当输入如下:最大值在第0位,最小值在最后一位时。如果你的程序设计是:就会出现WA,因为交换两次后输出,数组顺序不对。因此我的代码思路是这样就不会出错了。参考代码:原创 2022-10-16 15:12:13 · 952 阅读 · 0 评论 -
1075: 两数组最短距离
m和n的最大值为1000,即数组最大为1000个。这里我考虑将两个数组f和g合并,并做上标记。如果用笨办法写嵌套循环的话,循环次数过多。因此可以考虑加入一些条件来减少比较的次数。这样,再循环时,只需要判断。就能找到需要判断的数。原创 2022-10-16 14:53:43 · 506 阅读 · 0 评论 -
1479: C语言实验题――排序
题目在排序算法下多要求了一个记录原位置。原创 2022-10-16 11:43:10 · 1185 阅读 · 0 评论 -
1458: C语言实验题――数组逆序2
这如果是在python中可以用join函数连接,但c语言不知道有没有这个函数。因为是移动数组后面m位,那么可以采用先输出后m位,再输出前n-m位的方法。另外需要考虑到本题数字之间的空格,最后一个数不能带空格。所以我采用了和水仙花数输出一样的方法,题目的突破点在于找到。原创 2022-10-15 17:05:41 · 557 阅读 · 0 评论 -
1374: 素数判定
因此可以先把这范围内n*n+n+41是否为素数提前判断完,以免后续每次都要运算,浪费时间。观察题目,会发现需要判断的n范围只有-39到50。原创 2022-10-15 16:39:23 · 467 阅读 · 0 评论 -
1455: C语言实验题――数字串求和
当然这里也可以考虑用do while来写,就能把代码块{}中的n–省略掉,放进while里。自减很容易就把自己绕进去了。其实考虑把一些模块封装成函数,会更简便一点。但是考虑到学到循环的人可能还没有学函数,所以就没这么写。修改方法读者可以自己练习一下,我就不放出来了。实现n个a的做法就是用循环,写成。这代码写的我真头大。原创 2022-10-15 15:58:45 · 494 阅读 · 0 评论 -
1372: 水仙花数
由于100到999只有四个水仙花数,因此完全没必要每次输入都算一遍范围。原创 2022-10-15 15:36:58 · 588 阅读 · 0 评论 -
1457: C语言实验题――求一个3*3矩阵对角线元素之和
另外可以发现,当使用a=9,while(a–){}的循环,scanf输入为我们需要的数字时,a的值为8,4,0。本题中,除了正对角线以外的所有参数都是没用的。所以在输入时可以直接去掉。原创 2022-10-15 12:49:41 · 941 阅读 · 0 评论 -
1476: C语言实验题――圆周率
不过遇到了个小问题,把pi+=后面的计算化简之后,就WA了。因为计算顺序并不影响结果,而且代码更简洁。我的代码是逆序计算,从n到1这样子的。原创 2022-10-14 20:46:52 · 639 阅读 · 3 评论 -
1456: C语言实验题――拍皮球
优化算法时,考虑到除了第一次以外,每次运动都是(弹起和回落)两个过程。因此可以省略第一次循环。另外还要考虑输出时的换行,不然会报PE。问:起始高度为h时,第n次落地时的。条件:球每次落地后弹起高度为。原创 2022-10-14 20:04:52 · 664 阅读 · 0 评论 -
1175: C语言实验题――时间间隔
比较特殊的是,变量用的比较少(其实也可以一边转换一边输入,内存占用会更低。)算法上没什么稀奇的。思路是把两个时间转换成秒制,然后大减小,再转换回来。原创 2022-10-14 19:30:33 · 1189 阅读 · 0 评论 -
4590: 最大值-最小值
4590:最大值减最小值原创 2022-10-14 19:09:30 · 199 阅读 · 0 评论 -
1465: C语言实验题――某年某月的天数
C语言实验题――某年某月的天数,输入年和月,判断该月有几天?。原创 2022-10-14 12:52:47 · 318 阅读 · 0 评论