首页 > 代码库 > PAT-1069-The Black Hole of Numbers
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\n",min,max); printf("%04d - %04d = %04d\n",max,min,result); if(result==0) continue; while(true) { if(result==6174||result==0) break; char temp[5]; temp[4]=‘\0‘; //int2char(temp,result); sprintf(temp,"%04d",result); //printf("%s\n",temp); get(temp,max,min); result=max-min; printf("%04d - %04d = %04d\n",max,min,result); // getchar(); } } return 0;}
现在觉得sprintf很好用,从各种数据类型到字符串,轻而易举,不用自己位操作了。
PAT-1069-The Black Hole of Numbers
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。