适合新手
2026-06-13 12:52:44
发布于:浙江
26阅读
0回复
0点赞
想必各位新手想试着挑战2级的超纲题,刚学到循环,看这道题是循环的,就来做了,结果不会,想看题解,看别人是怎么做的,结果要么是函数,要么是数组,根本看不懂,如果你是,就来看看我的吧!只用了while,if,int,cin,cout
#include <bits/stdc++.h>
using namespace std;
int main (){
int a;
cin >> a;
int b=0;
int zuixiaoshu=0;
int zhongjianshu=0;
int zuidashu=0;
int zuida=0;
int zuixiao=0;
while (a!=495){
int yzx=a%10;
int zxm=a/10%10;
int yhp=a/100;
if (yhp>zxm && yhp>yzx){
zuidashu=yhp;
}else if(yzx>zxm && yzx>yhp){
zuidashu=yzx;
}else if(zxm>yhp &&zxm >yzx){
zuidashu=zxm;
}
if(yzx<yhp && yzx <zxm){
zuixiaoshu=yzx;
}else if(zxm<yhp && zxm<yzx){
zuixiaoshu=zxm;
}else{
zuixiaoshu=yhp;
}
if (yzx!=zuixiaoshu && yzx!=zuixiaoshu){
yzx=zhongjianshu;
}else if (zxm!=zuixiaoshu && zxm!=zuixiaoshu){
zxm=zhongjianshu;
}else if (yhp!=zuixiaoshu && yhp!=zuixiaoshu){
yhp=zhongjianshu;
}
zuida=zuidashu*100+zhongjianshu*10+zuixiaoshu;
zuixiao=zuixiaoshu*100+zhongjianshu*10+zuidashu;
a=zuida-zuixiao;
b++;
}
cout <<b;
return 0;
}
全部评论 1
你这代码第一眼我看的脑子发懵,第二眼这一大串一大串的全是变量名

1周前 来自 广东
0可以简化成这样
#include <bits/stdc++.h> using namespace std; int main (){ int a; cin >> a; int b=0, zxs=0, zjs=0, zds=0, zd=0, zx=0; while (a!=495){ int yzx=a%10, zxm=a/10%10, yhp=a/100; if (yhp>zxm && yhp>yzx){zds=yhp;} else if(yzx>zxm && yzx>yhp){zds=yzx;} else if(zxm>yhp &&zxm >yzx){zds=zxm;} if(yzx<yhp && yzx <zxm){zxs=yzx;} else if(zxm<yhp && zxm<yzx){zxs=zxm;} else{zxs=yhp;} if (yzx!=zxs && yzx!=zxs){yzx=zjs;} else if (zxm!=zxs && zxm!=zxs){zxm=zjs;} else if (yhp!=zxs && yhp!=zxs){yhp=zjs;} zd=zds*100+zjs*10+zxs; zx=zxs*100+zjs*10+zds; a=zd-zx; b++; } cout <<b; return 0; }1周前 来自 广东
0呵呵,主要是以前刚学的时候就喜欢用拼音做变量名如zuida:最大
6天前 来自 浙江
0














有帮助,赞一个