首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子问剪开,则环上珠子形成一个序列然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠
设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子问剪开,则环上珠子形成一个序列然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠
admin
2012-03-13
57
问题
设一个环上有编号为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://kaotiyun.com/show/M6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
数据录入工作有两个指标:录入速度和错误率。一般而言,数据录入员在录入大批数据时,录入速度会(65),错误率会(66)。66
某企业经常需要进行大量的复杂的数据处理,在数据处理的过程中,需要注意的事项不包括(66)。
某种考试共有75个试题,每对一题得2分,每错一题扣1分。某考生最后的分数是54分,则该考生共做对______题。
某个字段的数据是原始数据计算的结果,该字段的宽度和小数位数对数据的精度有影响。一般来说,小数位数的确定需要考虑______。
某学校有多个班,每个班有多名学生但只能有一个班长,那么班长与学生这两个实体之间的关系是(57)。
在Access2007中,若要想查询所有姓名为2个汉字的学生记录,应在准则中输入______。
在上、下行的轨道上,两列火车相对开来。甲列车的车身长235m,车速为25m/s;乙列车的车身长215m,车速为20m/s。这两列火车从车头相遇到车尾离开需要的时间为(31)。
程序员一般用(7)软件编写和修改程序。
请认真阅读下列有关Linux操作系统环境下配置成一台DNS服务器的说明信息,然后根据要求回答问题1至问题5。【说明】一台装有Linux操作系统的电脑,IP地址是“192.168.0.39’’,主机名是dnserver。现在要在这台电脑上配置成一台
随机试题
如果总体数目N很大,可以用()进行简单随机抽样。
连他也奚落起我来。奚落:
心尖区出现Austin-Flint杂音提示有
在R、L、C串联电路中,XL=20Ω。若总电压维持不变而将L短路,总电流的有效值与原来相同,则XC应为()Ω。
下列对建设项目管理的描述正确的有()。
篮球运球的练习方法有哪几种?(要求答四种以上)
材料一当前,国际金融危机继续扩散和蔓延,我国发展的外部条件更趋复杂。在一个时期内,我们将突出面临国际金融危机影响持续加深、全球经济增长明显放缓的压力,突出面临外部需求显著减少、我国传统竞争优势逐步减弱的压力,突出面临国际竞争日趋激烈、投资和贸易保护主义
学生的姓名权、荣誉权、隐私权应受到充分的尊重和保障,这指的是学生应享有()。
以下可用于解释财政支出规模增长趋势的理论包括()。①政府活动扩张论②梯度渐进增长论③经济发展阶段论④官僚行为增长论
Bankers’acceptancesoftenariseinforeigntrade.Abusinessbuyinggoodsfromabroadwhereitisnotwellknownanddoesnoth
最新回复
(
0
)