首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子问剪开,则环上珠子形成一个序列然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠
设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子问剪开,则环上珠子形成一个序列然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠
admin
2012-03-13
73
问题
设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子问剪开,则环上珠子形成一个序列然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠子中取走所有连续的同色珠子,两者之和为该剪开处可取走珠子的粒数。在不同位置剪开,能取走的珠子也不尽相同。
本程序所求的是在环上哪个位置剪开,按上述规则可取走的珠子粒数最多。程序中用数组存储字符串。例如,10粒珠子颜色对应字符串为aaabbbadcc,在0号珠子前剪开,序列为aaabbbadcc,从左端取走3粒a色珠子,从右端取走2粒c色珠子,共取走5粒珠子。若在3号珠子前剪开,即bbbadccaaa,共取走6粒珠子。
[C函数]
int count(char *s,int start,int end)
{ int i,c=0,color:s[start],step=(start>end)?-1:1;
for(i=Start;s
==color;i+=step){
if(step>0 && i>end || (1) ) break;
(2) ;
}
return c;
}
void main()
{ char t,s[120];
int i,k,c,len,maxc,cut=0;
printf("请输入环上代表不同颜色珠子字符串:");
scanf("%s”,s);
len=strlen(s);
for(i=maxc=0; i<len;i++)( /*尝试不同的剪开方式*/
c=count(s,0,len-1);
if(c<len) c+=count( (3) );
if(c>maxc) { cut=i;maxc=c;)
/*数组s的元素循环向左移动一个位置*/
t=s[0];
for(j=1;j<len;j++) (4) ;
(5) ;
}
printf("在第%d号珠子前面剪开,可以取走%d个珠子.\n",cut,maxc);
}
选项
答案
(1)step<0 && i<end (2) ++c (3) s,len-1,c (4) s[j-1]=s[j] (5) s[len-1]=t
解析
依据取珠子个数最多的规则,count函数每次从左或从右取出相同颜色的珠子,因此从右到左的条件为step<0 && i<end,即(1)应填“step<0 && i<end”。当是同色珠子时,计数值加1,所以(2)填“++c”。从右到左计算时,函数count调用的实参次序为s,len-1,c。即(3)应填“s,len-1,c”。在尝试不同的剪开方式时,数组s的元素要循环向左移动一个位置,则(4)填“s[j-1]=s[j]”,(5)填“s[len-1]=t”。
转载请注明原文地址:https://www.kaotiyun.com/show/M6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某班级有40名学生,本次数学考试大多在80分上下。老师为了快速统计平均分,对每个学生的分数按80分为基准,记录其相对分(多出的分值用正数表示,减少的分值用负数表示,恰巧等于80分时用0表示),再统计出各种相对分的人数,如下表:根据上表可推算出,这次考试
点击F.DOC文档窗口的“最小化”按钮后,则______。
某村领导要求信息处理技术员估计该村一池塘中的鱼的大致数量。该技术员想出了一个办法:先从池塘中捕出30条鱼,在每条鱼身上做一记号后,又放回池塘。几天后,再从该池塘中捕出40条鱼,发现其中有2条是有记号的。因此,他估计该池塘鱼的数量大致为(68)条(假设这几天
在Word2007中,若用户需要将一篇文章中的字符串“Internet”全部替换为字符串“因特网”,则可以在编辑菜单中选择()命令。
下列传输协议中,采用了加密技术的是______。
某商场记录(统计)销售情况的数据库中,对每一种商品采用了国家统一的商品编码。这种做法的好处不包括(11)________________。
某个字段的数据是原始数据计算的结果,该字段的宽度和小数位数对数据的精度有影响。一般来说,小数位数的确定需要考虑______。
Windows XP的许多应用程序的“文件”菜单中,都有“保存”和“另存为”两个命令。以下对这两个命令的叙述,正确的是(36)。
为什么一般处理“震荡波”病毒时,首先要把被侵入的计算机系统从网络上断开?在计算机系统发现病毒并清除以后,在未接入网络之前,从安全方面考虑,若需重新安装操作系统,通常需要执行以下几项主要工作后,方可接入网络。请给出下列工作的合理顺序。A.安装操作
假设用12个二进制位表示数据。它能表示的最大无符号整数为(8);若采用原码,它能表示的最小负整数为(9)。
随机试题
关于焦点特性的描述,错误的是
在对被拆迁房屋的性质不能协商一致时,拆迁人或被拆迁人应当向城市规划行政主管部门申请并确认。()
按照风险来源进行划分,建设工程风险可分为()。
国有独资企业的产权转让,应当由()审议,涉及职工安置事项的由职工代表大会讨论通过。
一些小朋友排成一行,从左边第一个人开始每隔2人发一个苹果;从右边第一个人开始每隔4人发一个橘子,结果有10个小朋友拿到苹果和橘子,这些小朋友最少有多少人?
下列选项中,()不属于行政行为的效力内容。
“查询”菜单下的“查询去向”命令指定了查询结果的输出去向,输出去向不包括
北京某高校学工处将于2010年4月29日(星期五)19:30—2l:30在校国际会议中心举办题为“领慧讲堂——大学生人生规划”就业讲座,邀请了资深专家赵左蕈先生担任演讲嘉宾。请根据上述关于活动的描述,利用MicrosoftWord制作一份宣传海报(宣传海
IWanttohavesome______,please.
A、It’snotromanticatall.B、It’sexpensive.C、It’shardtogetgraduated.D、Itwillbeeasytofindajobinthefuture.D归纳题。
最新回复
(
0
)