软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2015年下半年程序员考试下午真题试题(案例分析)
考试中心《2015年下半年程序员考试下午真题试题(案例分析)》在线考试
试卷年份2015年下半年
试题题型【分析简答题】
试题内容

阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
      下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0). 取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数 max4和最小四位数 min4(有0时为三位数).计算 max4与 min4的差值,得到一个新的四位数。若该数不等于 6174, 则重复以上过程,直到得到 6174 为止。
      例如,输入 1234,则首先由 4321-1234, 得到 3087;然后由 8730-378,得到 8352;最后由 8532-2358,得到6174。
【C 代码】
#include  <stdio.h>
int  difference(  int  a[]  )
{     int t ,i ,j ,max4 ,min4;
      for( i=0;  i<3;  i++  ) { /*用简单选择排序法将 a[0] ~a[3] 按照从大到小的顺序排列* /
          t = i;
          for(  j=  i+1;(1); j++   )
                 if (a[j] >a[t])      (2);
          if (  t !=i  )   {
             int temp = a[t];a[t]= a[i];a[i]=  temp;
          }
    }
    max4=(3);
    min4=(4);
    return max4-min4;
}
int main ()
{    int n,a[4];
     printf("input  a  positive  four-digit number:  ") ;
     scanf("%d" ,&n);
     while    (n!=6174)  {
             a [0] =(5);                         /*取n的千位数字*/
             a[1]  =  n/100%10;                 /*取n的百位数字*/
             a[2]  =  n/10%10;                   /*取n的十位数字*/
             a[3]  =(6);                          /*取n的个位数字*/
             n   =   difference(a); 
    }
    return 0;
}


相关试题

推荐文章
合作网站内容