![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
头歌 编程刷题 C语言代码分享
头歌 编程刷题 C语言代码分享
PluviophileDD
叫我电工
展开
-
返回序号(题目描述给你一个字符串 string ,请你根据下面的题意返回对应的序号 例如:A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 )
1、原理:题意即让你算26进制。(1)每加一位字母就是加26的n-1次方(n为加完后的数字的位数)。eg.A->AA 就是A(1)+26^1(加完后有2位字母 故而2-1=1)=27 。(2)某位数的字母每递加一次也是加26的n-1次方(n为递加后从右往左数 此位的位数)。eg.AA->AB就是AA(27)+26^0(变的是从右往左数的第1位 故而1-1=0)=28;eg.AA->BA就是AA(27)+26^1(变的是从右往左数的第2位故而2-1=1)=53。2、第一个for循环即原创 2024-07-21 17:00:03 · 299 阅读 · 0 评论 -
最古老的树(世界最古老的树是一棵瑞典的云衫树 OldTjikko,高 4.8 米。 2004 年发现以后,经过碳 14 测定,年龄达到 9500 岁具有争议的是,只有树根是 9500 岁,树干是后)
1、题目长的时候直接看最后一句。2、x数组用来储存同树龄的树木的数量。3、if判别式是用来选出同树龄树木最多的里面树龄最小的。原创 2024-07-08 13:29:38 · 147 阅读 · 0 评论 -
有趣的扑克游戏(期末考试就要来临了,大家都在紧张的复习。作为在考场拼搏了十几载的当代大学生,小明和小华更懂得考前的放松。他们在每天晚上休息之前都要玩一会儿扑克牌以放松神经。 他们打牌的规则是这样的:)
找规律的题目,你保持拿完牌后剩下的牌数为3的倍数就可以赢。2的幂次方数为2的倍数。3的倍数的情况下,拿1或者是2的倍数,剩下的还会是1或者2的倍数。原创 2024-07-07 21:19:38 · 132 阅读 · 0 评论 -
位置的数量(彼得站在 n个人的队伍中,但他不知道自己究竟占据了哪个位置。 他只能知道,站在他面前的人不少于a人,站在他身后的人不超过b人。 请找出 Petr 可以占据的不同位置的数量。)
1、面前的人不少于a人=>面前的人数处在a~n-1人之间(因为自己算一个人 一共只有n个人);身后的人不超过b人=>身后的人数处在0~b之间。2、(代码二)i表示在面前的人数,所以>=a且原创 2024-06-29 22:56:12 · 207 阅读 · 0 评论 -
电影院门票(小伊同学在暑假的时候来到电影院打工。正巧赶上电影院,一部新的电影要上映。题目中会给你一个整数数组 num 代表排队买票的人付的钱。来排队买票的人都只会拿出一张 25,50 或 100 元)
1、这个题目的测试用例是错误的。所以纵使你的代码正确也无法提交成功。此代码是正确代码,但无法提交成功,予你参考。2、实际输入格式是第一排n,第二排以空格隔开的不同钱币面额。是的,题目中的输入格式也有问题。已经懒得喷了。3、Q数组是存放钱币张数。Q[0]存放的25元的张数,Q[1]存放的50元的张数,Q[2]存放的100元的张数。4、给100元找钱的时候优先了50元+25元的方案,是因为50元只有在给100元的时候就业,所以咱们能把50花出去就花出去。5、是排队找钱,不是一窝蜂都上来把钱都收完原创 2024-06-30 11:12:41 · 196 阅读 · 0 评论 -
多项式求和之九(给定程序中函数 fun 的功能是:求出以下分数序列的前 n 项之和,并通过函数值返回 main 函数。)
1、找规律,需要的找到的规律,题目上基本上已经给你写出来了,不多加解释了。2、所谓的不要删改它给出的代码都是扯淡,把题目中给的那个什么(Double)a的(Double)删了就好。3、头歌出现严格意义上的大错误的情况比较少,主要是出现一些你觉得很无语的歧义和边边角角的头疼小问题,加油,努力适应!原创 2024-07-07 20:50:29 · 258 阅读 · 0 评论 -
海岸线的长度(一个二维地图上,有一个三角形岛屿,你正在沿着岛屿的海岸线行走,现在给你岛屿三个角的坐标,要你计算岛屿海岸线的长度。编写一个函数,以二维矩阵的形式获取三个点的坐标并返回岛屿海岸线的长)
1、数学公式(两点之间距离公式):d=√[(x1-x2)²+(y1-y2)²]2、省略掉小数位最后不必要的占位0:先将sum+0.005进行四舍五入,然后*100进行强制转化成整型,程序自动取整,最后再/100.00转化回浮点型。这些做法相当于是将sum四舍五入式保留两位小数,最后以%g的格式输出,会自动省略掉不必要的占位0(e.g. 48.80029485=>48.8)原创 2024-06-29 22:27:56 · 162 阅读 · 0 评论 -
元素计数(给你一个整数数组 nums ,统计并返回在 nums 中同时至少具有一个严格较小元素和一个严格较大元素的元素数目。)
1、题目实际就是要求你求非最大且非最小的数有几个,底层逻辑比较好理解。2、这题目麻烦就麻烦在怎么输入,想了很多种方法都有问题,最后在题解里看到一个天才想出了这种朴实无华却如此有用的方法。因为输入无论是有‘[’还是有‘,’都是属于字符,整体的输入刚好是以一个字符一个整型的格式输入的,故而此方法完美符合。(我一直在往getchar如何和scanf搭配而不让程序产生误解的方向等等去想,毕竟输入中无空格,没想到过用两个scanf,一个输入字符一个输入整型,如此方便且明了,感谢这位天才)3、max和min都是作为原创 2024-06-28 17:08:53 · 320 阅读 · 0 评论 -
判断一年中的第几天(给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个现行公元纪年法日期。返回该日期是当年的第几天。)
1、因为要求输入字符串,所以要用到字符数组储存,为了后期运算,需要利用ASCII码将其储存为整型。2、n用来累计天数。x数组用来存放每个月的天数。原创 2024-06-27 14:40:35 · 116 阅读 · 0 评论 -
最高的摩天大楼(城市天际线可以表示为二维列表,其中 1 表示建筑物。在下面的示例中,最高建筑物的高度为4(最右边的第二列)。创建一个函数,输入城市天际线二维列表(0 和 1 的二维列表),并返回最高)
1、实际输入格式是(eg.[[0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 1, 0],[0, 0, 1, 0, 1, 0],[0, 1, 1, 1, 1, 0],[1, 1, 1, 1, 1, 1]])。x数组用来暂时储存每次输入空格之前的字符串。前几个if语句是在按照实际输入格式选出1和0,赋给a数组。2、p、d用来记录二维数组的行数和列数。3、l作为标志,已有某行出现1的时候进行标记。原创 2024-06-27 11:51:29 · 227 阅读 · 0 评论 -
黑色星期五(在漂亮国,每到星期五都,哪里的人们都会非常狂热,因此哪里的人们称之为黑色星期五 但是在漂亮国,工资一般是每月的 10 发放所以我们创建一个函数来判断是否为星期五。)
第三个if语句是用week记录这天是星期几。2、可能比较孤陋寡闻,题目中提示的datetime内置函数不太懂,搜出来好像是Python里的我不会用,写的这个是C语言代码。3、1990.1.1是周一,以这一天为基准开始推算星期几比较方便,当然用其他的日子为基准也行,就是得改几个数据。在漂亮国,每到星期五都,哪里的人们都会非常狂热,因此哪里的人们称之为黑色星期五 但是在漂亮国,工资一般是每月的。1、x数组用来储存每个月的天数,x从[1]开始储存比较方便后期调用。,表示这是今年的月份。,表示这是今年的年份。原创 2024-06-27 10:24:06 · 149 阅读 · 0 评论 -
大都市(在 M 国有着很多的城市群,我们可以用二维数组中的 1 去表示高层建筑,矩阵的每一行代表一个区域,在下列示例中我们统计出每行矩阵是否有高层建筑,矩阵中有高层建筑的区域总和为 3,分别是第 1)
1、while循环与i/j共用时,注意i/j是否自增。2、这破题的输入格式样例有时候真的让你分不清它到底闹哪样。3、x作为标记,告诉程序某行是否已有1。原创 2024-06-27 09:30:26 · 222 阅读 · 0 评论 -
检查是否所有 A 都在 B 之前(现在给你一个仅由字符 a 和 b 组成的字符串 s 作为输入。你需要编写一个程序来实现字符串中每个 a 都出现在每个 b 之前,如果满足要求,那我们就输出 True)
判断的逻辑是数组中出现b后是否还出现了a,是则False,否则Ture(题目说明若字符串中无a也是True)。x是作为一个标记,通过给x赋不同的值告诉程序目前的这个数组中是否已出现b、出现b后是否还出现了a。原创 2024-06-26 22:50:19 · 279 阅读 · 0 评论 -
煤球数目(有一堆煤球,堆成三角棱锥形。具体:第一层放 1 个,第二层 3 个(排列成三角形),第三层 6 个(排列成三角形),第四层 10 个(排列成三角形),....如果一共有 N 层)
1、这破题出错了,问的是要第N行的煤球数量,但是实际上要求你的输出效果是:求全部的煤球总数。2、此代码中写的res是第n行的煤球数量,sum是全部煤球总数。3、题目中要求输入符合多次输入,且每次输入用换行分开,故而使用这个循环和getchar函数。原创 2024-06-26 21:22:40 · 197 阅读 · 0 评论 -
逆转字符串(题目描述 现在有一个字符串 str,你需要对它从后往在原地进行逆转。输入格式 一个只包含大小写字母,长度小于 10^4 的字符串 输出格式 逆转后的字符串)
1、我没改这个字符串哈 也可以选择创个新数组储存逆序字符串 这个代码是直接逆序输出的2、第二个for循环最开始用i--是因为第一个for循环最后i++了 相当于多加了所以要减掉原创 2024-06-26 22:11:28 · 198 阅读 · 0 评论 -
低于平均值(本关任务:m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的人数放在 below 所指的数组中。)
1、这破题自己给的代码有问题 相信自己 你补全的代码没问题你把它不让你改的已给出的代码修改一下就行 main改成void main或者int main加return 0;2、疑惑为什么fun函数里面对数组进行赋值之后 没有经过返回 也没有使用指针 就在main函数里体现的同学看这里:因为传递给fun函数的参数是数组的内存地址,而不是数组单个成员,传递地址之后是直接到数组内存地址上进行的修改,跟指针起到了同样的作用。(传递一个普通的整型、字符什么的除非是用到指针 否则是没有这样的效果的)原创 2024-06-26 21:47:23 · 242 阅读 · 0 评论 -
范围内37倍数的和(输入一个整数 n,输出小于 n 并且能被 37 整除的所有自然数之和。没有则输出 0。)
这破题题目出错了,是能把37整除,不是被37整除。原创 2024-06-26 21:33:33 · 135 阅读 · 0 评论 -
困难的作业(小明正在做作业。老师给了他一些文章,让他说出每个字母出现的次数。小明对这个问题无从下手,你可以帮帮他吗?输入行包含一篇文章,所有字母都是小写的。你只需要数一数每个字母的数量。)
1、scanf函数遇到空格不录入,故而使用这个循环语句。相当于是以空格隔开的每串字符为单位录入字符数组,故而字符数组里是没有空格的。2、最后输出的时候多用了一次printf函数是因为输出最后一个数组成员时后面不能多个空格。3、多用了一个整型数组对每个字母进行计数,整型数组下标是用ASCII码向字符数组搭桥。原创 2024-06-26 11:07:44 · 452 阅读 · 0 评论 -
大头记单词(大头的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!)
1、题目中所谓的出现次数最少的字母有个前提,是说已出现的字母中出现次数最少的字母。2、知识点:scanf函数输入字符串存入数组的情况,可以用数组名即数组的内存地址直接存储。(不建议使用gets/fgets函数,因为不太安全)3、知识点:给整型数组中每个成员都初始化为0时可以直接a[0]={0},因为电脑会自动把剩下未赋值的成员自动赋值为0原创 2024-06-25 21:29:55 · 243 阅读 · 0 评论 -
Peter 的烟(Peter 有 n 根烟,他每吸完一根烟就把烟蒂保存起来,k(k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?)
注意一次性未兑换完的烟蒂 可以和下一波抽完的烟蒂合在一起兑换新烟 所以要加上取余的数字题目描述Peter 有 n 根烟,他每吸完一根烟就把烟蒂保存起来,k(k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?吸烟有害健康。原创 2024-06-25 21:32:21 · 184 阅读 · 0 评论 -
斐波那契又来了(现在存在另一种斐波那契数:F(0)=7,F(1)=11,F(n)=F(n−1)+F(n−2)(n≥2)。)
将F定义为数组有可能因占用内存过大溢出报错,这边采用的是采取了找规律的简便做法。规律:能够被3整数的斐波那契数的下标取余4的余数都为2。,表示斐波那契数的下标。整除,请在单独一行输出。每行输入包含一个整数。原创 2024-06-25 21:37:37 · 106 阅读 · 0 评论 -
班主任的问题(小明是一名小学老师,某次考试后,他遇到了这样的问题:读入 n 名学生的成绩,将获得某一给定分数的学生人数输出。你能帮助他解决吗?)
借助循环语句和c=getchar()==' '输入一行整型题目描述小明是一名小学老师,某次考试后,他遇到了这样的问题:读入 n 名学生的成绩,将获得某一给定分数的学生人数输出。你能帮助他解决吗?输入格式第一行包含一个整数 n(1≤n≤103),表示学生的人数。 接下来一行输入 n 个整数 f(0≤f≤102),表示各学生的成绩,整数间以空格间隔。 最后一行输入给定的分数 g(0≤g≤102)。原创 2024-06-26 09:54:42 · 376 阅读 · 0 评论