#CS40206. 阅读程序2-字符处理-06
阅读程序2-字符处理-06
阅读程序
注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。
第2节:字符处理
第6题【NOIP】2009
#include <iostream>
using namespace std;
const int maxn=50;
void getnext(char str[])
{
int l=strlen(str),i,j,k,temp;
k=l-2;
while(k>=0&&str[k]>str[k+1]) k--;
i=k+1;
while(i<l&&str[i]>str[k]) i++;
temp=str[k];
str[k]=str[i-1];
str[i-1]=temp;
for(i=l-1;i>k;i--)
for(j=k+1;j<i;j++)
if(str[j]>str[j+1])
{
18 temp=str[j];
19 str[j]=str[j+1];
20 str[j+1]=temp;
}
return ;
}
int main()
{
char a[maxn];
int n;
cin >> a >> n;
while(n>0)
{
getnext(a);
32 n--;
}
cout << a << endl;
return 0;
}
●判断题
(1)每次循环找到的k一定不同。
{{ select(6-1) }}
- 对
- 错
(2)如果把第18~20行换成swap(str[j],str[j+1]),输出结果不变
{{ select(6-2) }}
- 对
- 错
(3)去掉第32行会异致程序超时。
{{ select(6-3) }}
- 对
- 错
(4)输人的字符串可包含任意字母
{{ select(6-4) }}
- 对
- 错
●选择题
(5)输入NOIP3
,输出的结果是( )
{{ select(6-5) }}
- NPOI
- NPIO
- NIPO
- PONI
(6)输入CSP2021 2
,输出的结果是( )。
{{ select(6-6) }}
- CPS2120
- CSP2120
- CPS2210
- CSP2021