其他分享
首页 > 其他分享> > pat每日刷题计划--day74

pat每日刷题计划--day74

作者:互联网

PAT A1069 The Black Hole of Numbers

题目本身没有难度,注意读题,数字占四位,还有前后的空格

注意每一轮的数组和各个数字清空。评测机有时候有问题

sort(num+1,num+5)默认升序排列。左闭右开

刚开始结果错误,是因为数组开的不够,这时候没报错,但是怎么改都是0,这种错误注意避免。

#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
int wei[5];
int answei[10];//数组开小怎么都返回0
int ans;
using namespace std;
int main()
{
    int firstnum=0;
    int secondnum=0;
    int temp;
    scanf("%d",&temp);
    int count=0;

    while(1)
    {
            memset(wei,0,sizeof(wei));
            memset(answei,0,sizeof(answei));
            count=0;
            while(temp>0)
            {
                wei[++count]=temp%10;
                temp=temp/10;
            }
            sort(wei+1,wei+5);
            firstnum=0;
            secondnum=0;
            for(int i=1;i<=4;i++)
            {
                firstnum=firstnum*10;
                secondnum=secondnum*10;
                firstnum+=wei[5-i];
                secondnum+=wei[i];
            }
            ans=firstnum-secondnum;

            count=0;
            int anstemp=ans;
            while(ans>0)
            {
                answei[++count]=ans%10;
                ans=ans/10;
            }
            /*for(int i=1;i<=4;i++)
                printf("%d",answei[i]);*/
            for(int i=4;i>=1;i--)
                    printf("%d",wei[i]);
            printf(" - ");
            for(int i=1;i<=4;i++)
                printf("%d",wei[i]);
            printf(" = ");
            for(int i=4;i>=1;i--)
                printf("%d",answei[i]);
            printf("\n");
            if(anstemp==0 || anstemp==6174)
                return 0;
            temp=anstemp;
    }
    return 0;
}
View Code

 

标签:count,10,answei,pat,temp,int,wei,day74,刷题
来源: https://www.cnblogs.com/tingxilin/p/12253658.html