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

输入一个数,求这个数重新排列最大数和最小数之差

时间:2015-07-07 18:52:57      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
#include <string.h>
int next_num(int x)
{
    char s[10];
    int a,b,n;
    sprintf(s,"%d",x);
    n=strlen(s);
    for (int i=0; i<n; i++) {
        for (int j=i; j<n; j++) {
            if (s[i]>s[j]) {
                char t=s[i];
                s[i]=s[j];
                s[j]=t;
            }
        }
    }
    sscanf(s, "%d",&a);
    printf("%d",a);
    for(int i=0;i<n/2;i++)
    {
        char t = s[i];
        s[i]= s[n-1-i];
        s[n-1-i]= t;
    }
    sscanf(s, "%d",&b);
    printf("%d",b);

    return b-a;
    
    printf("%d",b-a);

}


int main()
{
    //int x;
    //scanf("%d",&x);
    printf("%d",next_num(1243));
}

 

sprintf(s,"%d",x); 的目的数将数字x转换成字符串s
sscanf(s, "%d",&b); 目的是将字符s转换成数字b


输入一个数,求这个数重新排列最大数和最小数之差

标签:

原文地址:http://www.cnblogs.com/zhuyaguang/p/4627293.html

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