#CS40209. 阅读程序2-字符处理-09
阅读程序2-字符处理-09
阅读程序
注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。
第2节:字符处理
第9题【NOIP】2012
#include <iostream>
#include <string>
using namespace std;
int n,i,j,ans;
string s;
char get(int i)
{
if(i<n) return s[i];
else return s[i-n];
}
int main()
{
cin>>s;
n=s.size();
15 ans=0;
16 for(i=1;i<=n-1;i++){
17 for(j=0;j<=n-1;j++)
18 if(get(i+j)<get(ans+j)){
ans=i;break;
}else if(get(i+j)>get(ans+j))
21 break;
}
for(j=0;j<=n-1;j++)
cout<<get(ans+j);
cout<<endl;
return 0;
}
●判断题
(1)删除第15行程序,运行结果不会发生变化
{{ select(9-1) }}
- 对
- 错
(2)将第16行中的i-1改为i=0,运行结果不变
{{ select(9-2) }}
- 对
- 错
(3)在17,18行中间插入“if(get(i+j)==get(ans+j))continue;”运行结果不变
{{ select(9-3) }}
- 对
- 错
(4)将21行的break换成continue,因为这是for语句的最后一句,所以运行结果不变
{{ select(9-4) }}
- 对
- 错
●选择题
(5)当输人为ABCDEFG时,输出结果为( )
{{ select(9-5) }}
- ABCDEFG
- GFEDCBA
- ACEGFDB
- AGBFCED
(6)当输入为CBBADADA时,输出结果为()。
{{ select(9-6) }}
- ABABCDAD
- ABBCDADA
- ACBBADAD
- ADADACBB