
CED
文章平均质量分 87
liO_Oil
From layman to Master!
展开
-
(CED)列指针与行指针的联系与区别
一、列指针(竖为列)1、列指针相关定义列指针:被称为是指针变量指向二维数组的某个元素一般使用时会有如下定义:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int *p;而上述代码定义的指针p,一般按照下表方式指向二维数组a中的元素: 语法 样例 ...原创 2020-03-05 21:30:59 · 8548 阅读 · 8 评论 -
C语言(CED)王老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数(递归求解)
题目大意:王老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级也可以第一次走两级,第二次走一级,一共3种方法。编写一个程序,要求输入楼层,输出王老师上楼的方法总数。一、大致思路这道题其实之前大家都有接触过,这道题目的解法也很多,今天要介绍的是递归解法。我们先把n=1,n=2,n=3,n=4,n=...原创 2019-03-27 10:23:10 · 11261 阅读 · 1 评论 -
C语言(CED)查找最接近的元素(分治法/二分查找):在一个非降序列中,查找与给定值最接近的元素。(递归实现)
一、题目大意查找最接近的元素(分治法/二分查找):在一个非降序列中,查找与给定值最接近的元素。[输入]第一行包含一个整数n,为非降序列长度。第二行包含n个整数,为非降序列各元素。第三行包含一个整数m,为要询问的给定值个数。1 <= m <= 10000。接下来m行,每行一个整数,为要询问最接近元素的给定值。所有给定值的大小均在0-1,000,000,000之间...原创 2019-03-27 10:55:51 · 12999 阅读 · 12 评论 -
C语言(CED)输出前k大的数(分治法/局部快速排序):给定一个数组,统计前k大的数并且把这k个数从大到小输出。
)输出前k大的数(分治法/局部快速排序):给定一个数组,统计前k大的数并且把这k个数从大到小输出。[输入]第一行包含一个整数n,表示数组的大小。第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。第三行包含一个整数k。k < n。[输出]从大到小输出前k大的数,每个数一行。[样例输入]104 5 6 9 8 7 1 2 3 05[样例输出]...原创 2019-03-27 11:00:57 · 3841 阅读 · 4 评论 -
C语言(CED)gameboy接馅饼问题
一、题目大意都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,每秒种只有在移动不超...原创 2019-04-07 15:26:00 · 1649 阅读 · 0 评论 -
C语言(CED)递归实现汉诺塔问题
一、问题大意大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。问应该如何操作?(百度百科)现要求写出一个代码,表明移动圆盘的过程。二、大致思路递归的问题不用想的很复杂,这道题目在思考起来,应...原创 2019-04-07 19:45:22 · 555 阅读 · 0 评论 -
C语言(CED)01背包——动态规划第二题
一、问题描述给定n种物品和一个背包。物品i的质量Wi,其价值Vi,背包的容量为c。问如何选择装入背包中的物品,使得装入背包中的物品总价值最大?二、解题思想 01背包和最长公共子序列都是动态规划题目中求最优解的问题,不同在于,01背包问题,即使发现物品可以放入背包,但是在采取放或者不放的措施时,还要进行选择。(这就是保证最优解的条件) 我们先根据题意有如下...原创 2019-04-03 22:37:14 · 1656 阅读 · 5 评论 -
C语言(CED)智力大冲浪——贪心算法第一题
一、题目大意小伟报名参加中央电视台的智力大冲浪节目,本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元。先不要太高兴!因为这些钱还不一定都是你的!接下来主持人宣布了比赛规则:首先,比赛时间分为n个时段(n≤500),它又给出了很多小游戏,每个小游戏都必须在规定期限ti前完成(1≤ti≤n)。如果一个游戏没能在规定期限前完成,则要从奖励费m元中扣去一部分钱wi,wi为自然...原创 2019-04-30 10:13:18 · 2378 阅读 · 2 评论 -
C语言(CED)钢条最优切割收益
一、题目大意 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi。那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大。提示:将钢条切割为长度为i和n - i两段,接着求解这两段的最优切割收益Ri和Rn - i二、大致思路 本题用到的知识点就是动态规划,以下简称DP,我在解决此题的时候,思路在刚开...原创 2019-04-30 10:57:38 · 1340 阅读 · 0 评论 -
C语言(CED)如何用sort函数根据结构体里的某一属性进行排序
前几天在编写代码的时候,突然要根据结构体的属性进行从小到大的排序,这即是我写这篇文章的导火索。正如大家所知道的那样,我们在排序时通常会进行sort(a,a+n):a为数组名称,n为数组长度。这样来的快捷方便,但是,在我看来,要适当的对排序算法进行复习。 那么如何根据结构体的某一属性进行排序呢?请看下面这段代码:struct home{ int s;//...原创 2019-05-09 16:36:24 · 3581 阅读 · 0 评论 -
C语言(CED)对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式(递归求解)
又涉及到递归问题,这道题的大致内容是这样的:(请用递推方式求解)对于一个2行N列的走道。现在用1*2,2*2的砖去铺满。问有多少种不同的方式。下图是一个2行17列的走道的某种铺法。 提示:观察前n个结果,可以得到递推式子;如果N很大,需要高精度计算。其实这道题,与之前的方格涂色问题很像,说它像不仅因为在思考方式上很像,在最后的代码上也很想像,听我一一道来。题目提示,先观...原创 2019-03-27 10:12:59 · 8479 阅读 · 5 评论 -
C语言(CED)最长公共子序列----动态规划第一题
一、动态规划算法与分治法的异同相同点:A、二者均是将待求解的问题分成若干子问题来求解。 B、二者在编写代码的时候,都要用到递归。不同点:A、分治法求解的问题,在将问题分成若干子问题之后,其子问题之间是独立存在的,没有相互关联。而动态规划问题划分后得到的子问题之间相互关联。B、动态规划问题在求解时需要一个表来记录已解决的子问题的答案,从而避免大量的重复计算。...原创 2019-03-31 11:53:16 · 2254 阅读 · 0 评论 -
C语言(CED)与long long相关的知识
在写代码时,有时int、double定义的变量的范围远远小于题目要求的范围,那么现在就是使用long long的时候1、 long long 是C99标准对整型类型做的一个扩展,每个long long类型的变量可以占8字节,每个字节8位,一共64位。其表示的数范围是-9223372036854775808~9223372036854775807。2、long long在输出的时候,与int...原创 2019-03-26 10:42:05 · 10646 阅读 · 0 评论 -
C语言(CED)输入一个任意长度的正整数,将该数逆序输出。
题目内容:输入一个任意长度的正整数,将该数逆序输出。如,输入正数237,则逆序显示的结果为732。如输入230,则逆序显示的结果为32。该数的逆序显示结果(数字最前面的0不显示,如340反转后,要求输出为43,而不是043)刚开始想的复杂,后来觉得这个代码的方法比较简单,所以记录下来:#include<stdio.h>#include<string.h>#...原创 2018-08-04 16:06:16 · 23294 阅读 · 8 评论 -
C语言(CED)排序算法总结。比较完整和详细
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存内部排序算法有:直接插入排序,折半插入排序,希尔排序,选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。详细如何划分在文章中的叙述会有体现,字母为大类排序方法。本文将依次介绍上述排序算法。A、插入排序一、直接插入排序。...原创 2018-08-12 20:06:17 · 1329 阅读 · 0 评论 -
C语言(CED)统计行数
题目:编写一个程序,要求统计输入文本的行数。Input每行输入任意长度的字符串(每一行的字符串的长度小于等于1000),以输入仅由符号@构成的行作为结束, @所在的行不计入行数。Output输出文本的行数。Sample InputHello world!I come from China!I’m a boy!@Sample Output3起初准备用单个字符的方法来解决问题发现...原创 2018-08-07 13:34:22 · 5884 阅读 · 0 评论 -
C语言(CED)判断一个数是否是2的整数幂的简便方法
正如大家所熟知的那样,我们输入到计算机中的数据,都是以二进制的格式保存处理的,所以此方法就是利用这一特点来进行判别!(除2的零次方)将2的整数幂次方转换为二进制后,仔细观察后会很容易发现一个特点:整串数字中只有一个1,在其后跟了多个0.比如:2:10;4:100;8:1000; · · ·128:10000000所以我们只要判断...原创 2018-10-17 21:38:44 · 3585 阅读 · 2 评论 -
C语言(CED)编写程序,求sum=1*1*1+2*2*2+3*3*3+4*4*4+5*5*5+····+n*n*n
编写程序,求sum=1*1*1+2*2*2+3*3*3+4*4*4+5*5*5+····+n*n*n上述题目很简单,但是偶尔也会犯错误,例如如下代码的错误:#include<stdio.h>#include<math.h>int main(){ int n; scanf("%d",&n); int s=0; int i...原创 2019-01-25 20:22:58 · 9047 阅读 · 0 评论 -
C语言(CED)从键盘输入一些整数,求出它们的平均值。数据的个数事先不确定,在输入过程中以ctrl+z键(EOF)作为输入结束的标记。
要求:1、从键盘输入一些整数,求出它们的平均值。数据的个数事先不确定,在输入过程中以ctrl+z键(EOF)作为输入结束的标记。2、输入一些整数,按回车,然后同时按ctrl键和z键,再按回车结束输入。本体涉及到while(scanf("%lf",&a[i])!=EOF)的用法,所以在这里写一点自己的心得体会!目前接触到的Printf;Scanf()等都是函数,而Scanf()...原创 2019-01-28 16:19:44 · 9239 阅读 · 0 评论 -
C语言:表白(多彩小心心)
#include <stdio.h>#include <math.h>#include <stdlib.h>#define I 20#define R 340#include <string.h>int main(){ char answer[10]; printf("遇到你\n我才发现\n曾经所有的条件\n似乎都成了我等你的借口...原创 2018-08-18 19:13:21 · 62681 阅读 · 102 评论 -
C语言(CED)有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.
相信大家在高中数学课上都做过类似于涂色的排列组合问题,那么这个问题如何用程序语言——C语言解决呢?一、总体思路(如果你只是需要代码,请直接看代码部分)你应该重视思路,用C语言将之前数学课上的思路重现一下就好了!这些问题都可以归类到递归问题,因为每次涂色的时候考虑的情况大致类似,下面提供一种思考方式:为方便起见,假设我已获得了求解这道问题的函数solve(),只要输入n是多少就能得到结果。...原创 2019-03-08 09:50:30 · 5011 阅读 · 0 评论 -
C语言(CED)多组字符串匹配,输出所有重复出现的字符串,多次重复出现的只输出一次就好。
最近遇到一道题目:多组字符串匹配,输出所有重复出现的字符串,多次重复出现的只输出一次就好。举个例子:input:qwer qwer sdfghoutput:qwer题意大致就是这样,下面给出我的最终解答,因为不是OJ所以可能还会有些许错误!若有,还望各位指正!一、解题思路1、main()函数里:因为涉及到多组字符串匹配,为...原创 2019-03-08 10:51:15 · 5325 阅读 · 0 评论 -
C语言(CED)编写一个程序,求两个字符之间的加减运算。
复习C语言,不同的心境遇到了不同的问题:问题:编写一个程序,求两个字符之间的加减运算。连续输入三个字符,其中第一个输入运算符号(+或者-),后两个输入字符。如+ab表示计算字符a与字符b相加的结果(输出两字符ASCII码值相加减的结果)刚开始没想到溢出的问题,一直出错,最后调试成功,正确代码如下:#include<stdio.h>int main(){ ...原创 2018-08-04 16:02:03 · 7826 阅读 · 3 评论