填坑:
1.输出格式
2.当m-n=6174之后,无下一行输出
3.输出时无论减数。被减数。差,均要有四位格式,缺位补0
#include<bits/stdc++.h>
using namespace std;
int data[4]= {0};
int fun(int data[]) {
int sum=0;
for(int i=0; i<4; i++) {
sum=sum*10+data[i];
}
return sum;
}
int ufun(int data[]) {
int sum=0;
for(int i=3; i>=0; i--) {
sum=sum*10+data[i];
}
return sum;
}
void group(int d) {
int i=3;
while(d) {
int t=d%10;
data[i]=t;
d/=10;
i--;
}
}
void equal() {
for(int i=0; i<4; i++) {
cout<<data[i];
}
cout<<" - ";
for(int i=0; i<4; i++) {
cout<<data[i];
}
cout<<" = 0000";
}
int main() {
int m=0;
int n=0;
int d;
cin>>d;
if(d>=0 and d<10000) {
group(d);
if(data[0]==data[1] and data[0]==data[2] and data[2]==data[3]) {
equal();
} else {
while(m-n!=6174) {
sort(data,data+4);//从小到大
n=fun(data);
m=ufun(data);
for(int i=3; i>=0; i--) {
cout<<data[i];
}
cout<<" - ";
for(int i=0; i<4; i++) {
cout<<data[i];
}
cout<<" = ";
group(m-n);
for(int i=0; i<4; i++) {
cout<<data[i];
}
cout<<endl;
}
}
}
return 0;
}