0
点赞
收藏
分享

微信扫一扫

2466: 数字中的数字


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;
}

这道题用到了分离整数的各位数及排序算法,虽然都是基础知识 ,长时间不用还是会有些生疏。

举报

相关推荐

0 条评论