用数字造数字
时间: 1ms 内存:128M
描述:
输入一个3位以上的整数,求其中最大的数字最小的数字之间的差。例如:输入8729,输出7(即9-2=7),再如,输入24825,输出6(即8-2=6)。
输入:
一个3位以上的整数
输出:
输入整数的最大的数字最小的数字之间的差。
示例输入:
8729
示例输出:
7
提示:
参考答案(内存最优[920]):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=1,i=1,mm=0,mi=9;
scanf("%d",&a);
while(a)
{
i=a%10;
a/=10;
mm=i>mm?i:mm;
mi=i<mi?i:mi;
}
printf("%d",mm-mi);
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
int main( )
{
int n,arr[15],num=0;
int i, imax, imin;
cin>>n;
while(n>0)
{
arr[num++]=n%10;
n/=10;
}
imax=imin=arr[0];
for(i=1; i<num; i++)
{
if(imax<arr[i])
imax = arr[i];
if(imin>arr[i])
imin = arr[i];
}
cout<<imax-imin;
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。