注意点

(1)格式问题,算式中间有空格

(2)   格式很重要 都是四位数 :789应该是0789   1应该是0001

(3) 有格式要求的输出用printf  比cout好用

 
#include<iostream> #include<string.h> //string #include<algorithm> //sort
#include<math.h> //pow using namespace std; int main() { string str; int
a[4]={0,0,0,0}; int d=0,x=0,cha=0; //较大值 较小值初始化 输入值 cin>>str; int
len=str.length(); for(int i=0;i<len;i++){ a[i]=str[i]-'0'; } if
(a[1]==a[2]&&a[2]==a[3]&&a[3]==a[0]) { cout<<str<<" - "<<str<<" = "<<"0000";
//这样写如果0000不带引号的话,第一个测试点错误 // printf("%04d - %04d =
%04d\n",a[0]*1111,a[0]*1111,0); } else{ while(cha!=6174) {
sort(a,a+4,greater<int>()); for(int i=0;i<4;i++){ d=10*d+a[i]; x=10*x+a[3-i];
//注意789 应该表示为0789 } cha= d-x; // cout<<d<<" - "<<x<<" = "<<cha<<endl;
//可能是3210-123 格式错误 printf("%04d - %04d = %04d\n",d,x,cha); a[3]=cha%10;
a[2]=(cha/10)%10; a[1]=(cha/100)%10; a[0]=cha/1000; d=0; x=0; } } return 0; }
 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信