码迷,mamicode.com
首页 > 其他好文 > 详细

第18周OJ测试项目6--用数字造数字

时间:2014-12-26 22:59:42      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:c++   iostream   namespace   博客   编程   

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

代码如下:

#include <iostream>
using namespace std;
int main()
{
	int str[10];
	int i = 0, n, m, j, t;
	cin >> n;
	do
	{
		str[i++] = n % 10;
		n=n/10;
	}
	while (n != 0);
	m = i ;
	for (i = 0; i < m-2; i++)
	{
		for (j = 0; j < m -1- i; j++)
		{
			if (str[j] > str[j + 1])
			{
				t = str[j];
				str[j] = str[j + 1];
				str[j + 1] = t;
			}
		}
	}
	cout << ((str[m-1] + str[m -2]) - (str[1] + str[0]));
	return 0;
}


 

运行结果:

技术分享

第18周OJ测试项目6--用数字造数字

标签:c++   iostream   namespace   博客   编程   

原文地址:http://blog.csdn.net/liuchang54/article/details/42178561

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!