Problem E: 用数字造数字(II)
来源:互联网 发布:化妆品美工 编辑:程序博客网 时间:2024/06/11 21:52
You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.
你不能改变你的过去,但你可以让你的未来变得更美好。一旦时间浪费了,生命就浪费了。
Description
输入一个3位以上的整数,求其中最大的两个数字之和与最小的数字之和之间的差。例如:输入8729,输出8,即(9+8)-(2+7)=8,再如,输入24825,输出9,即(8+5)-(2+2)=9。
Input
一个3位以上的整数
Output
最大的两个数字之和与最小的数字之和之间的差
Sample Input
8729
Sample Output
8
HINT
将分离好的数字存储在数组中,再从数组中找出最大、次大值,以及最小、次小值。最坏的策略,将得到的数组排序后取头尾两个元素。
#include <stdio.h>int main(){ int n,a[99],max1,min1,max2,min2,b=0; scanf("%d",&n); while(n>0) //将多位数分离开放在数组里 { a[b]=n%10; n/=10; b++; } if(a[0]>a[1]) { max1=min2=a[0]; max2=min1=a[1]; } else { max1=min2=a[1]; max2=min1=a[0]; } for(int i=2;i<b;i++)//循环判断最大最小值 { //同时找出第二大第二小的数 if(max1<=a[i]) { max2=max1; max1=a[i]; } else if(a[i]<max1&&a[i]>max2) { max2=a[i]; } if(min1>=a[i]) { min2=min1; min1=a[i]; } else if(a[i]>min1&&a[i]<min2) { min2=a[i]; } } printf("%d",(max1+max2)-(min1+min2)); return 0;}
0 0
- Problem E: 用数字造数字(II)
- 用数字造数字(II)
- YTU 2801: 用数字造数字(II)
- 用数字造数字
- 用数字造数字
- Problem E: 小力的数字游戏 解题报告
- 第18周OJ--问题 F: 用数字造数字(II)
- 8E打印数字
- 问题 E: 数字黑洞
- Problem 2089 数字游戏
- Problem 2089 数字游戏
- 数字三角形II
- 数字三角形II
- LintCode-数字组合 II
- 数字组合 II
- LintCode:数字组合 II
- 数字组合 II
- LintCode: 数字组合 II
- 使用python+selenium完成qq空间自动登录小程序
- 设计模式的5大设计原则
- 欢迎使用CSDN-markdown编辑器
- Java工程师成神之路~
- Java快速入门【1~10】
- Problem E: 用数字造数字(II)
- 放苹果
- Java初始化的一些知识
- NSTimer定时器的使用
- 下拉刷新全屏时,高度的调整
- Word Pattern
- Problem F: 数组作实参 指针作形参 排序
- 【Android实例】拖动滑块进行图片拼合验证方式的实现
- 虚拟机中Windows XP的安装步骤