满意答案
hyge5290
2014.07.10
采纳率:44% 等级:8
已帮助:209人
//以前做过的,不过不是数字,而且是c++,改成你的要求了。你看下,
#include
int a[10001];
void qsort(int s,int t)
{
int i,j;
int temp;
i=s;j=t;
if(s
{
temp=a[s];
while(i!=j)
{
while(itemp) j--;
if(i
while(i
if(i
}
a[i]=temp;
qsort(s,i-1);
qsort(i+1,t);
}
}
int f(int length)
{
int i,j;
char temp;
for(i=length-2;a[i]>a[i+1];i--);
if(i<0) return 0;
for(j=length-1;a[i]>a[j];j--);
temp=a[i];a[i]=a[j];a[j]=temp;
qsort(i+1,length-1);
return 1;
}
int main()
{
int n,length,i;
scanf("%d",&length);
scanf("%d",&n);
for(i=0;i
while(n--)
{
f(length);
}
printf("%d",a[0]);
for(i=1;i
printf("\n");
return 0;
}
30分享举报