这是本菜鸟在牛客上第一个自主编写通过的程序:
数字黑洞
#include<iostream>
using namespace std;
int main()
{
int a,b[4],max,min,temp;
cin>>a;
while(1)
{
b[0]=a/1000;
b[1]=(a%1000)/100;
b[2]=(a%100)/10;
b[3]=a%10;
//对数组排序
for(int i=3;i>0;i--)
for(int j=0;j<i;j++)
if(b[j]>b[j+1])
{
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
max=1000*b[3]+100*b[2]+10*b[1]+b[0];
min=1000*b[0]+100*b[1]+10*b[2]+b[3];
a=max-min;
if(a==0)
{
cout<<max<<" - "<<min<<" = 0000"<<endl;
break;
}
else if(a==6174)
{
cout<<max<<" - "<<b[0]<<b[1]<<b[2]<<b[3]<<" = "<<max-min<<endl;
break;
}
else
cout<<max<<" - "<<b[0]<<b[1]<<b[2]<<b[3]<<" = "<<max-min<<endl;
}
return 0;
}
心得
**对于每一功能模块可以先用函数命名,再来思考大体框架,也许就比较轻松得到正确结果
***但是我的效率似乎并不高,,,不过也没什么啦,目前最终要的是写出,能运行不是嘛