C语言,关于全排列问题#includevoid swap(int A,int B){\x09int m;\x09m=A;\x09A=B;\x09B=m;}int main(){\x09int a[10];\x09int n,i,j,k,l,isgood;\x09scanf("%d",&n);\x09for(i=0;i
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 01:42:12
![C语言,关于全排列问题#includevoid swap(int A,int B){\x09int m;\x09m=A;\x09A=B;\x09B=m;}int main(){\x09int a[10];\x09int n,i,j,k,l,isgood;\x09scanf(](/uploads/image/z/10047759-15-9.jpg?t=C%E8%AF%AD%E8%A8%80%2C%E5%85%B3%E4%BA%8E%E5%85%A8%E6%8E%92%E5%88%97%E9%97%AE%E9%A2%98%23includevoid+swap%28int+A%2Cint+B%29%7B%5Cx09int+m%3B%5Cx09m%3DA%3B%5Cx09A%3DB%3B%5Cx09B%3Dm%3B%7Dint+main%28%29%7B%5Cx09int+a%5B10%5D%3B%5Cx09int+n%2Ci%2Cj%2Ck%2Cl%2Cisgood%3B%5Cx09scanf%28%22%25d%22%2C%26n%29%3B%5Cx09for%28i%3D0%3Bi)
C语言,关于全排列问题#includevoid swap(int A,int B){\x09int m;\x09m=A;\x09A=B;\x09B=m;}int main(){\x09int a[10];\x09int n,i,j,k,l,isgood;\x09scanf("%d",&n);\x09for(i=0;i
C语言,关于全排列问题
#include
void swap(int A,int B)
{
\x09int m;
\x09m=A;
\x09A=B;
\x09B=m;
}
int main()
{
\x09int a[10];
\x09int n,i,j,k,l,isgood;
\x09scanf("%d",&n);
\x09for(i=0;i
C语言,关于全排列问题#includevoid swap(int A,int B){\x09int m;\x09m=A;\x09A=B;\x09B=m;}int main(){\x09int a[10];\x09int n,i,j,k,l,isgood;\x09scanf("%d",&n);\x09for(i=0;i
#include<stdio.h>
void swap(int *A,int *B) // <-- C语言是传值的,*A 才能影响到外部.
{
int m;
m=*A;
*A=*B;
*B=m;
}
int main()
{
int a[10];
int n,i,j,k,l,isgood;
scanf("%d",&n);
for(i=0;i<n;a[i]=i+1,i++);
for(i=0;i<n;i++) printf("%d ",a[i]);
printf("\n");
for(i=0,j=0;;){
for(k=n-2,isgood=1;k>=0;k--){
if(a[k]<a[k+1]){
isgood=0;
i=k;
break;
}
}
if(isgood==1) break;
for(l=i;l<n;l++){
for(j=n-1;j>l;j--)
if(a[j]>a[l]) swap(&a[l],&a[j]);//<-- 相应修改.
}
for(l=0;l<n;l++) printf("%d ",a[l]);
printf("\n");
}
return 0;
}