zoukankan      html  css  js  c++  java
  • PAT-1069-The Black Hole of Numbers

    这题目最坑了,我做的A题最坑的一道

    1,首先输入数据不一定是四位的,泪奔,输入1,222,222,试一试

     2,在运行过程中需要判定结果是否为0,需要跳出

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    
    
    void get(char * data,int & max,int &min)
    {
        sort(data,data+4);
        min=(data[0]-'0')*1000+(data[1]-'0')*100+(data[2]-'0')*10+(data[3]-'0');
        max=(data[3]-'0')*1000+(data[2]-'0')*100+(data[1]-'0')*10+(data[0]-'0');
    }
    
    
    void int2char(char * p,int num)
    {
         int temp;
         int j=3;
         while(j>=0)
         {
          temp=num%10;
          p[j]=temp+'0';
          num=num/10;
          j--;
         }
    }
    
    int main()
    {
        char data[5];
        int da;
        int min,max,result;
        memset(data,0,sizeof(char)*5);
        while(scanf("%d",&da)!=EOF)
        { 
            sprintf(data,"%04d",da);
            get(data,max,min);
            memset(data,0,sizeof(char)*5);
            result=max-min;
            //printf("%d %d
    ",min,max);
            printf("%04d - %04d = %04d
    ",max,min,result);
            if(result==0)
               continue;
            while(true)
            {
               if(result==6174||result==0)
                  break;
               char temp[5];
               temp[4]='';
               //int2char(temp,result);
               sprintf(temp,"%04d",result);
               //printf("%s
    ",temp);
               get(temp,max,min);
               result=max-min;
               printf("%04d - %04d = %04d
    ",max,min,result);
              // getchar();
            }
        }
        return 0;
    }

    现在觉得sprintf很好用,从各种数据类型到字符串,轻而易举,不用自己位操作了。

  • 相关阅读:
    查前端资料的一些网站
    10.18号笔记
    10.17号笔记
    10.16号笔记
    10.13号笔记
    10.12号笔记
    10.11号笔记
    10.10号笔记
    10.9号笔记
    理想VS现实
  • 原文地址:https://www.cnblogs.com/championlai/p/3948014.html
Copyright © 2011-2022 走看看