首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子问剪开,则环上珠子形成一个序列然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠
设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子问剪开,则环上珠子形成一个序列然后按以下规则从序列中取走珠子:首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠
admin
2012-03-13
38
问题
设一个环上有编号为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
程序员下午应用技术考试
软考初级
相关试题推荐
鼠标指针的形状取决于它所在的位置以及与其他屏幕元素的相互关系。在文字处理的文本区域,指针就像(),指向当前待插入字符的位置。
在Windows系统的资源管理器中,文件和文件夹可以采用多种形式显示,但不能以(40)形式显示。
计算机采用二进制的好处不包括______。
下列IP地址属于C类地址的是(17)。
在Excel2007中,如果在A1单元格输入“计算机”,在A2单元格输入“软件资格考试”,在A3单元格输入“=A1&A2”,按回车键后,结果为______。
操作系统的功能不包括______。
在Word2003中,对当前正在编辑的文档内容进行多次剪切操作后关闭该文档,则剪贴板中的内容为______。
小张为本企业录入一篇领导讲话文稿。文稿中引用了该企业2008年的销售额和各产品的利润等数据。小张考虑到目前是2010年,从信息的实效性出发,决定对文稿中的这部分内容进行处理,则______做法最为恰当。
发送电子邮件属于信息处理的(33)过程。
某计算机字长16位,若采用定点补码整数表示数值,最高1位为符号位,其他15位为数值部分,则所能表示的最小整数为(8),最大负数为(9)。
随机试题
计划经济就是社会主义,市场经济就是资本主义。
骨折整复的原则是()
残疾是指由于各种躯体、身心、精神疾病或损伤以及先天异常所致的人体解剖结构、生理功能的异常,造成机体长期、持续或永久性的功能障碍状态,并不同程度地影响身体活动、日常活动、工作、学习和社会交往活动能力。脑血管意外之后,采取适当的体位避免痉挛畸形,定时翻身以
肝胆动态显像时为减少胆囊不显影引起假阳性,可以采用
与药品生产洁净级别的要求一致,并设有捕尘和防止交叉污染设施的地方是
关于包气带防污性能,说法正确的有()。
岩石岸坡一般不陡于(),若陡于此坡应有专门论证并采取必要措施。
某双代号网络计划如图2Z103030—3所示(时间单位:天),其关键线路有()条。[2015年真题]
根据《税收征管法》的规定,下列选项中属于税务机关可以采取的税收强制执行措施的有( )。
甲、乙签订了一份借款合同,甲为借款人,乙为出借人,借款数额为500万,借款期限为两年。丙、丁为该借款合同进行保证担保,担保条款约定,如果不能如期还款,丙、丁承担保证责任。戊对甲、乙的借款合同进行了抵押担保,担保物为一批设备(价值300万),未约
最新回复
(
0
)