彦羽


私信TA

用户名:tianyu

访问量:13082

签 名:

千里之行 始于足下

等  级
排  名 2237
经  验 2323
参赛次数 0
文章发表 17
年  龄 0
在职情况 学生
学  校 临沂大学
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<stdio.h>
#include<math.h>
int p(int n);
int main()
{
 int i,n;
 scanf("%d",&n);
 if(n==6174) i=0;
 else
 for(i=1;;i++)
 {
  n=p(n);
  if(n==6174)  break;
 }
 printf("%d",i);
 return 0;
}
int p(int n)
{
 int i=0,j,k,temp,max=0,min=0,s[4];
 while(n)
 {
  s[i++]=n%10;
  n/=10;
 }
 for(i=0;i<4;i++)
 {
  k=i;
  for(j=i+1;j<4;j++)
  if(s[j]>s[k])  k=j;
  if(k!=i)
  {
   temp=s[i];
   s[i]=s[k];
   s[k]=temp;
  }
 }
 for(i=0;i<4;i++)
 {
  max+=s[i]*pow(10,3-i);
  min+=s[i]*pow(10,i);
 }
 return max-min;
}

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区