输入一个3位以上的整数,求其中最大的两个数字之和与最小的数字之和之间的差。例如:输入8729,输出8,即(9+8)-(2+7)=8,再如,输入24825,输出9,即(8+5)-(2+2)=9。
代码如下:
#include <iostream>
using namespace std;
int main()
{
int str[10];
int i = 0, n, m, j, t;
cin >> n;
do
{
str[i++] = n % 10;
n=n/10;
}
while (n != 0);
m = i ;
for (i = 0; i < m-2; i++)
{
for (j = 0; j < m -1- i; j++)
{
if (str[j] > str[j + 1])
{
t = str[j];
str[j] = str[j + 1];
str[j + 1] = t;
}
}
}
cout << ((str[m-1] + str[m -2]) - (str[1] + str[0]));
return 0;
}
运行结果: