用数字造数字

用数字造数字

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注