#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