计算机程序设计

“闰年问题”的算法用Basic B、Pascal C、C++ D、C语言都可以实现。

题目

“闰年问题”的算法用Basic B、Pascal C、C++ D、C语言都可以实现。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用(14)算法,因为(15)。

A.先递归后递推

B.先递推后递归

C.递归

D.递推


正确答案:D

第2题:

在考生文件夹下有“db4.mdb”数据库。

(1)创建“闰年判断”模块,实现通过输入框输入某一年,判断是否闰年,判断结果用消息框显示。模块运行结果如图所示。

单击“确定”显示如图。

(2)创建“求和”模块,实现1+2+3+...+99+100计算。要求算法在子过程Sum中实现,在主过程L中调用Sum子过程。算法用For循环语句实现。计算结果用消息框显示。

结果模块运行结果如图所示。


正确答案:

第3题:

● 算法是问题求解过程的精确描述, 它为解决某一特定类型的问题规定了一个运算过程。以下关于算法的叙述中,错误的是(62)。

(62)

A.流程图(flow chart)是算法的一种图形表示方法

B.用伪代码描述的算法易于转换成程序

C.用 N/S盒图可以保证算法的良好结构(即由顺序、选择和重复结构来表示算法)

D.用 E-R 图可以同时描述算法步骤和数据模型


正确答案:D

第4题:

若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用__(1)__算法,因为__(2)__。空白(1)处应选择()

  • A、先递归后递推
  • B、先递推后递归
  • C、递归
  • D、递推

正确答案:D

第5题:

写出判断闰年的条件表达式()。(设年份用y表示)


正确答案:y%4==0 && y%100!=0 || y%400==0 ? 1 : 0

第6题:

Spanning Tree算法用()来解决。

A、数据冲突问题

B、广播风暴问题

C、流量控制问题

D、拥塞控制问题


正确答案:A

第7题:

对于本题的作业处理问题,用图4-1的贪心算法策略,能否求得最高收益?(6)。用贪心算法求解任意给定问题时,是否一定能得到最优解?(7)。


正确答案:(6)能或可以、行及其他含义相同的词语 (7)不能或不可以、不行及其他含义相同的词语
(6)能,或可以、行及其他含义相同的词语 (7)不能,或不可以、不行及其他含义相同的词语 解析:本题考查的是算法的设计和分析技术。
问题1考查的是贪心算法的流程图。第(1)空表示第2个作业到第n个作业的主循环,i是循环控制变量,故第(1)空填入i<=n。
应注意到数组/中的作业J[i](1≤i≤k)是在其期限之前完成的作业,且d[J[i]]≤d[J[i+1]] (1≤id[i]。另一方面, J[D[R]]与r的关系只有两种:J[d[r]]>r,表示还可能在J[1]与J[r]之间插入作业i;J[d[r]]=r,表示不可能在J[1]~J[r]之间插入作业i。J[d[r]]问题2是本题算法的一个实例。6个作业的收益已经按降序排好序。根据流程图,将作业1,2,4和5放入数组J中,并得到总收益为220,具体过程如表4-1所示。

问题3考查算法策略。对于该题,贪心策略可以求得最优解。但不是所有的问题都能通过贪心策略来求得最优解,一个典型的例子是0-1背包问题。举例如下,有三件物品,背包可容纳50磅重的东西,每件物品的详细信息如表4-2所示,问如何装包使得其价值最大?

如果按贪心策略求解该问题,优先选择单位价值最大的物品,则先选择物品1,然后选择物品2。由于此时背包容量还剩下50-10-20=20,不足以容纳物品3,故总价值为 60+100=160美元。但若选择物品2和物品3,容量总和为20+30,小于等于总容量50,得到总价值为100+120=220,会得到更优解。此时用贪心策略不能得到最优解。

第8题:

下列关于算法说法不正确的是( )

A. 算法独立于任何具体的语言,BASIC算法只能用BASIC语言来实现

B. 解决问题的过程就是实现算法的过程

C. 算法是程序设计的"灵魂"

D. 算法可以通过编程来实现


正确答案:A

第9题:

以下是可以用迭代算法解决的问题包括()

  • A、折纸问题
  • B、修公路问题
  • C、剪绳子问题
  • D、蜗牛爬井问题

正确答案:A,B,C,D

第10题:

用贪心算法设计0-1背包问题。要求:说明所使用的算法策略;写出算法实现的主要步骤;分析算法的时间。


正确答案: 首先计算每种物品单位重量的价值Vi/Wi,然后,依贪心选择策略,将尽可能多的单位重量价值最高的物品装入背包。若将这种物品全部装入背包后,背包内的物品总重量未超过C,则选择单位重量价值次高的物品并尽可能多地装入背包。依此策略一直地进行下去,直到背包装满为止。
具体算法可描述如下:
void Knapsack(int n,float M,float v[],float w[],float x[])
{Sort(n,v,w);
int i;
for(i=1;i<=n;i++) x[i]=0;
float c=M;
for(i=1;i<=n;i++)
{if(w[i]>c) break;
x[i]=1;
c-=w[i];
}
if(i<=n)x[i]=c/w[i];
}

更多相关问题