求大神支招磁力数四位数算出来不是6174三位数只输出n1-n2=0多谢多谢#include<iostream>using namespace std;int getbits(int n){ int k=0; for(;n>0;) { n=n/10; k++; }return k;}void split(int a[],int n,int k){ for(int i=0;i<k;i++) { a[i]=n%10; n=n/10; }}void sortd(int a[],int k){ int t; for(int i=0;i<k-1;i++) for(int j=0;j<k-1-i;j++) if(a[j]<a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }void reverse(int a[],int k){ int t; for(int i=0;i<=k/2;i++) { t=a[i]; a[i]=a[k-i-1]; a[k-i-1]=t; }}int combine(int a[],int k){ int num,i; num=0; for(i=0;i<k;i++) num=num*10+a[i];return num;}int main(){ int oldn=-1,k,n,a[100],n1,n2; cin>>n; k=getbits(n); while(oldn!=n) { oldn=n; split(a,n,k); sortd(a,k); n1=combine(a,k); reverse(a,k); n2=combine(a,k); n=n1-n2; cout<<"n1-n2="<<n<<endl; } while(1); return 0; }