第18周oj项目一个数中最大,次值的和与最小,次值的和的差值

来源:互联网 发布:linux 显示到ip的流量 编辑:程序博客网 时间:2024/06/18 14:13
/*。*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;}

运行结果:


知识点总结:

先把各位数分离保存在数组中,再用冒泡法排序之后表示出所需值即可。

0 0
原创粉丝点击