阅读程序写结果:
#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]) { temp=str[j]; str[j]=str[j+1]; str[j+1]=temp; } return ; } int main() { char a[maxn]; int n; cin >> a >> n; while(n>0) { getnext(a); n--; } cout << a << endl; return 0; }
输入:NOIP 3