2023西电期末复习题解
收录2023年西电C语言期末题集36篇题解(感谢王女士的奶茶)
pboaths
一只蒟蒻(●`・(エ)・´●)
展开
-
西电期末考点总结
打擂台用于找到一个数组中的最值问题,先设置一个虚拟擂主,并保证他是“最弱的”,然后遍历数组,找到“更强的”数据,就交换擂主,“打”到最后的“擂主”就是最值数据精度处理用printf函数处理即可,考察读题仔细;而正确的数据类型的选择和转换也是常考的点,遇见题目中出现小数,或者出现除法,精度保留,就一定将相关的变量设置为浮点型,特殊情况下,要将整形转化成浮点型,常用隐形类型转换:(double n0=n*1.0)原创 2024-01-08 14:51:08 · 1179 阅读 · 0 评论 -
西电期末1035.可构造三角形个数
依旧是遍历+判断,三角形任意两边之和大于第三边,读题!!!:连续的三个数!!!原创 2024-01-08 00:15:20 · 405 阅读 · 0 评论 -
西电期末1034.勒让德多项式
带递推式即可,注意数据类型的使用和转换!原创 2024-01-08 00:02:57 · 498 阅读 · 0 评论 -
西电期末1033.ROT13加密
第一点:字符串有空格,用fgets函数第二点:注意大写小写都要“加密”第三点:13这个数字很好,刚好是26的一半,所以前一半加13,后一半减13就是答案。原创 2024-01-07 23:47:00 · 563 阅读 · 0 评论 -
西电期末1032.模式匹配
遍历+判断。原创 2024-01-07 23:32:43 · 349 阅读 · 0 评论 -
西电期末1031.方差计算
带公式,我记得前面有个算标准差的题,我直接C—V过来。原创 2024-01-07 23:27:37 · 415 阅读 · 0 评论 -
西电期末1030.函数的最大值
函数+打擂台,注意数据类型和保留精度。原创 2024-01-07 23:21:13 · 358 阅读 · 0 评论 -
西电期末1029.计算正弦函数
根据题目带通项即可,注意数据类型!!所有参与最新后结果的变量都要变成浮点型,不然会损失精度,公式不要带错了!!!原创 2024-01-07 17:34:41 · 434 阅读 · 0 评论 -
西电期末1028.信号解调
题越来越水了。原创 2024-01-07 17:10:43 · 416 阅读 · 0 评论 -
西电期末1027.判断同构数
不用把他转成字符串再转成数字之类的,用数学解决就好!找出一个数的最后位就是将其对求余啊,找一个数有几位以前也有过啊,那不就过了嘛!原创 2024-01-07 17:02:32 · 489 阅读 · 0 评论 -
西电期末1026.删除特定字符后排序输出
题目名字很有意思,先删除后排序,难死了,还是先排序后删除简单吧?注意字符串里有空格,前面提到过了:只能用fgets!!原创 2024-01-07 16:49:39 · 415 阅读 · 0 评论 -
西电期末1025.平滑滤波
别光看公式,读题干:“位置i的输出为距离i最近的三个输入的平均值”,再看示例,输入几个,输出几个,所以就是输出每个位置距离最近的三个输入的平均值,中间没什么问题,两端根据题意分别还是前三个的均值和后三个的均值。原创 2024-01-06 13:05:49 · 494 阅读 · 0 评论 -
西电期末1024.数值信息报表
考点重复,这里介绍一种新的处理方法,以前用找最值时用排序加结构体记录数据位置,用数组记录一串数据使用,西卡西,我们只是找最值,就可以打擂台处理,加上位置就行,还有,我们发现数组没有发挥实际的作用,其实只需要一个变量,一个循环就行,读入之后,就加和打擂台,再更新数据,同样可以达到目的,这样处理时间和空间复杂度都会降低很多。原创 2024-01-06 12:49:39 · 499 阅读 · 0 评论 -
西电期末1023.出现次数最多的数
排序+打擂台。原创 2024-01-05 17:41:10 · 444 阅读 · 0 评论 -
西电期末1022.数字统计(3)
按部就班即可。原创 2024-01-05 17:29:14 · 343 阅读 · 0 评论 -
西电期末1021.梅森尼数
用pow函数计算,编写布尔函数,用定义判断,因为不知道有没有时间限制,可能会超时,此时可以用素数筛。原创 2024-01-05 17:20:49 · 479 阅读 · 0 评论 -
西电期末1020.寻找同数
其实就是寻找字串的个数,以前好像是有类似的题,先找到子串的首字符,再判断。原创 2024-01-04 23:42:29 · 320 阅读 · 0 评论 -
西电期末1019.校验和计算
难点在于逐个取出数据的每一位,我们编写f函数,使用了一个while函数,每次循环中用取余的运算符找到数据的个位累加,再将n/10,如此n便被去除了个位,十位就成了新的个位,最后当n为0时,便加上了每一位。原创 2024-01-04 12:26:22 · 366 阅读 · 0 评论 -
西电期末1018.logistic方程
根据题目递归即可,用while函数判断是否到达1000项,内部用abs函数(绝对值函数)判断是否收敛,最后按照结果输出即可。原创 2024-01-04 12:04:27 · 503 阅读 · 0 评论 -
西电期末1017.有序序列插值
简单题。主要考察简单的排序,最后的插入数据同样不用具体实现,只需在输出时多输出一下即可,注意顺序!!原创 2024-01-03 22:16:42 · 453 阅读 · 0 评论 -
西电期末1016.乘法口诀数列
问题要先读懂,并不是,这是错误的,更不是仅仅乘完之后取个位,而是如果大于十,将结果拆开,十位做下一项,个位做下两项,而且此时,计算的项不会因此也向后推动两项,仍然只会向后推一位。也就是说,计算是挨计算的,结果拆开直接加到数列末尾(不管加1个还是2个)。那我们干脆也是这样,计算和结果的拼接分开来:首先定义作为我们用来计算的位,记作计算位,由于我们要将结果加到末尾,就要有一个指向末尾的量,再定义一个偏移位,使得是最后一位。一开始就是最后一位,我们初始化,这样就是最后一位,在计算出结果后,用。原创 2024-01-03 13:14:23 · 696 阅读 · 1 评论 -
西电期末1015.等差数列
既然要求输出数据排序后在原数列中的位置,那最好使用结构体,排序后找出相邻差值的最大值和最小值,如果相等,那就是等差数列,反之则不是,按照题目操作即可。原创 2024-01-03 10:27:40 · 435 阅读 · 1 评论 -
西电期末1014.评委打分
考察了结构体和排序,由于数据较小,使用最简单的冒泡排序即可,注意计算均值时的数据类型和类型转换,注意人的数量,不一定是n,n-1,n-2都有可能,最后注意输出保留两位小数!原创 2024-01-02 16:47:05 · 415 阅读 · 0 评论 -
西电期末1013.数字统计(2)
输入a,b后保证a原创 2024-01-01 13:21:56 · 377 阅读 · 0 评论 -
西电期末1012.数组对半交换
根据奇数偶数分类交换即可。原创 2023-12-31 15:14:15 · 336 阅读 · 0 评论 -
西电期末1011.出租车费
写两个函数,分别计算行驶费用(分段函数)和停车费用,注意数据类型的正确使用,保留1位小数。原创 2023-12-31 13:30:05 · 552 阅读 · 0 评论 -
西电期末1010.数字统计
编写一个函数实现计算an,再遍历判断即可。原创 2023-12-30 13:43:58 · 508 阅读 · 1 评论 -
西电期末1009.交换最值
核心思路依旧是打擂台,打两次,然后考察了一个交换数值,可以在主函数里操作,也可以用子函数实现,既可以用传统的中间变量的交换,也可以用指针。我使用了最简单和整洁的组合。原创 2023-12-30 12:36:38 · 896 阅读 · 1 评论 -
西电期末1008.判断子串
本题有两个难点,第一,由样例可知,字符串内部有空格,而scanf函数在遇到空格会停止读入,如果使用sacnf,会导致连第一个字符串都读不完,我们需要的是一个能一次读取一整行的函数,而gets函数也不行,由于它并不能保证输入数据的大小是安全的,会导致内存出问题,已经被淘汰了,在最新的C语言中,应使用fgets函数。第二,找到字串的过程中直接需要挨个判断,推荐写一个bool函数进行判断,思路是先找到首字符,再调用函数判断。原创 2023-12-29 13:05:25 · 408 阅读 · 1 评论 -
西电期末1007.字符串插入
最质朴的思路是开一个新的数组,按照要求把字符输入,但是太麻烦,为什么不直接输出呢?原创 2023-12-28 13:39:17 · 551 阅读 · 1 评论 -
西电期末1006.奇偶之和
本题考察循环和条件判断,有以下几点注意:在奇数偶数数量上,虽然奇数比偶数少一,但是仍然要重新设定一个变量表示,不然m减一的时候,m-1也会减一,导致奇数不够;数列自变量单独设立,在循环内部自增,但不是循环变量;由于没有明确循环变量,建议使用while函数;条件一定是数量都大于0,而不是不等于0,由于奇数偶数数量差一,不一定保证全零,如果出现负数,会进入无限循环!原创 2023-12-27 10:27:21 · 313 阅读 · 1 评论 -
西电期末1005.进制转换
进制的转换就涉及到进制的定义了,就拿我们常用的十进制来讲,其实是用以十为底的位数次幂的和,比如10086就是:以此类推,二进制的数也可以表示成类似的形式,而最终的答案就是十进制的数,比如0110:大于十的进制数因为没有可用的阿拉伯数字了,就用字母代替:a就是10,b就是11,以此类推,注意,本题不是完全的进制转换,而是将每一个16进制的数转化成10进制累加即可,这减小了许多难度。原创 2023-12-26 17:03:19 · 364 阅读 · 1 评论 -
西电期末1004.最长整数序列
其实做程序的题目只需要最简单和机械的思路就可以,也叫做程序员思维,找出最长的整数序列,那就从头开始找,把每个长度找出来然后以打擂台的方式找出最小值即可。原创 2023-12-25 13:07:55 · 371 阅读 · 1 评论 -
西电期末1003.奇偶数之和
这个题算是超级简单的题了,相对与其他西电题来讲,直接根据题目做就行,遍历时加一个奇偶判断,分别累加即可。原创 2023-12-24 14:36:55 · 489 阅读 · 1 评论 -
西电期末1002.异常点检测
根据题目按部就班即可,不难发现西电的题目大多都是以一个简单的背景稍作嵌套命题的,主要考察基础知识点的嵌套,本题先计算平均值,再根据给出的公式计算方差,最后遍历所有数据进行判断。主要考察的点在于数据类型的选择和处理,由于开方和除法的操作,很多变量比如总数,均值,方差都使用了类型,此外,由于样本个数为整形,还涉及类型转换。原创 2023-12-24 14:05:25 · 763 阅读 · 1 评论 -
西电期末1001.数组折叠
题目要求的所谓的数组折叠只不过是不停地把数组的右半部分挨个加到数组左半部分上;首先,题目中的n不是数组长度,才是原数组长度,我们需要使用pow函数来计算长度;其次由于有对半操作的出现,为了方便,我们选择储存时下标从1开始,这样数组对半时的长度计算就直接是:最后,总体思路就是先开一个外部循环代表m次折叠,内部再开一个循环用来具体将对称的右半部分的数值加到左半部分,即实现一次折叠(代码中“+1”的操作时下标从1开始带来的一个小小插曲,看来有得必有失),最后打印答案即可(注意数据之间用空格隔开)原创 2023-12-23 20:34:21 · 425 阅读 · 3 评论