/*1、任意给出一个四位数, 把它重新组成一个四位的最大数和一个最小数, 算出两者间的差。 例如:3721这个数,可以重组成:7321和1237,相数之差为7321-1237 */ #include<iostream> using namespace std; int main() { int i, j, k, t; int b, c, d, h; int a[4]; cout << "请输入一个四位数:"; cin >> b; for(i = 0; b != 0; i++) { a[i] = b % 10; b = b / 10; } for(i = 0; i < 3; i++) { k = i; for(j = i + 1; j < 4; j++) if(a[j] > a[k]) k = j; t = a[k]; a[k] = a[i]; a[i] = t; } h = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3]; c = a[3] * 1000 + a[2] * 100 + a[1] * 10 + a[0]; d = h - c; cout << "重新组成四位的最大数为:"<< h << endl; cout << "重新组成四位的最小数为:"<< c << endl; cout << "最大数和最小数的差为:"<< d << endl; return 0; }