pku1731.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 43 行

CPP
43
字号
#include <stdio.h>
#include <string.h>

int main()
{
	char s[201],tc;
	int i,j,k,sl,tm;
	while(scanf("%s",s)!=-1)
	{
		sl=strlen(s);
		for(i=0;i<sl-1;i++)
		{
			for(j=i+1,k=i;j<sl;j++)
			{
				if(s[j]<s[k]) k=j;	
			}
			tc=s[i];
			s[i]=s[k];
			s[k]=tc;	
		}
		while(1)
		{
			puts(s);
			i=sl-1;
			while(i>0 && s[i]<=s[i-1]) i--;
			if(i==0) break;

			j=sl-1;
			while(s[j--]<=s[i-1]);

			tc=s[i-1];
			s[i-1]=s[j+1];
			s[j+1]=tc;
			for(j=sl-1;i<j;i++,j--)
			{
				tc=s[i];
				s[i]=s[j];
				s[j]=tc;
			}
		}	
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?