2466: 数字中的数字

来源:互联网 发布:淘宝如何打新品标 编辑:程序博客网 时间:2024/04/27 19:33

2466: 数字中的数字

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 66  Solved: 48
[Submit][Status][Web Board]

Description

输入一个3位以上的整数,求其中最大的两数字之和与最小的两个数字之和的差。例如:输入8729,输出8(即9+8-2-7=8),再如,输入24825,输出9(即8+5-2-2)。

Input

一个3位以上的整数

Output

输入的数据中,最大的两数字之和与最小的两个数字之和的差

Sample Input

8729

Sample Output

8

#include <stdio.h>#include <stdlib.h>int main(){    int a,b[10];    scanf("%d",&a);    int i=0,j,s,m;    s=a;    while(s>0)    {        b[i]=s%10;        s=s/10;        i++;        m=i;    }for(i=0; i<m-1; i++)        for(j=0; j<m-i-1; j++)            if(b[j]>b[j+1])            {                int t;                t=b[j];                b[j]=b[j+1];                b[j+1]=t;            }        printf("%d\n",(b[m-1]+b[m-2])-(b[0]+b[1]));    return 0;}
这道题用到了分离整数的各位数及排序算法,虽然都是基础知识 ,长时间不用还是会有些生疏。

原创粉丝点击