给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。 例如,当X值为5时,100~999之间各位上数字之和为5的整数有:104、1

admin2018-09-27  29

问题 给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。
    例如,当X值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、3ll、320、401、410、500。共有15个。当x值为27时,各位数字之和为27的整数是:999。只有1个。
    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
  注意:源程序存放在考生文件夹下的BLANK1.C中。
  不得增行或删行,也不得更改程序的结构!
1  #include<stdio.h>
2  int fun(int x)
3  {  int n,s1,s2,s3,t;
4  n=0;
5  t=100;
6  /**********found**********/
7  while(t<=__1__){
8  /**********found**********/
9  s1=t%10;s2=(__2__)%10;s3=t/100;
10  /**********found**********/
11  if(s1+s2+s3==__3__)
12  {printf(’’%d’’,t);
13   n++;
14  }
15  t++;
16  }
17  return n;
18  }
19  main()
20  {  int x=-1;
21  while(x<0)
22  {printf(’’Please input(x>0):’’);scanf(’’%d’’,&x);}
23  printf(’’\nThe result is:%d\n’’,fun(x));
24  z}

选项

答案(1)999 (2)t/10 (3)x

解析 在100~999之间(含100和999)所有整数中,取x的个位、十位和百位,可由x%10,x/10再对10求余、x/100分别得到。第一空:是补充while循环的终止条件,题干要求fun寻找100~999之间满足条件的数x,因此,循环终止条件是999,故第一空处应填“999”。第二空:“s1=t%10;s2(__2___)%10;s3=t/100;”可知s1求得t的个位数,s3求得t的百位数,因此,s2是求t的十位数。(t/10)变量t变成两位数,再次对10取余便得到t的十位数,因此第二空处应为“t/10”。第三空:“if(s1+s2+s3==__3___)”是判断t是否满足题干条件:各位上数字之和为x,故第三空处应为“x”。
转载请注明原文地址:https://jikaoti.com/ti/uta0FFFM
0

最新回复(0)