/*。
*Copyright(c)2014,烟台
大学计算机学院
*All right reserved,
*文件名:test.cpp
*作者:biyutang
*完成日期:2014年12月28日
*版本号:v1.0
*
问题描述:
*输入描述:输入x
*程序输出:输出Y
*/#include <iostream>
using namespace std;
int main()
{
int n,a[20],i,j=0,t;
int max1,max2,min1,min2;
cin>>n;
while(n>0)
{
a[j]=n%10;
n=n/10;
j++;
}
for(i=0;i<j-1;i++)
{
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
for(i=0;i<j-2;i++)
{
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
max1=a[j-1];
max2=a[j-2];
for(i=0;i<j-1;i++)
{
if(a[i]<a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
for(i=0;i<j-2;i++)
{
if(a[i]<a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
min1=a[j-1];
min2=a[j-2];
cout<<max1+max2-min1-min2;
return 0;
}
运行结果:
知识点总结:
先把各位数分离保存在数组中,再用冒泡法排序之后表示出所需值即可。