问答题

给定程序中, 函数 fun 的功能是: 找出 100 至 x(x≤999) 之间各位上的数字之和为 15 的所有整数, 然后输出; 符合条件的整数个数作为函数值返回。
例如, 当 n 值为 500 时, 各位数字之和为 15 的整数有: 159、 168、 177、 186、 195、 249、 258、 267、 276、285、 294、 339、 348、 357、 366、 375、 384、 393、 429、 438、 447、 456、 465、 474、 483、 492。 共有 26 个。
请在程序的下划线处填入正确的内容并把下划线删除, 是程序得出正确的结果。
注意: 源程序存放在考生文件夹下的 BLANK1.C 中。
不得增行或删行, 也不得更改程序的结构!

/**********code.c**********/
#include
int fun(int x)
{
   int n, s1, s2, s3, t;
   /**********found**********/
   n=①______;
   t=100;
   /**********found**********/
   while(t<=②______)
      {
      s1=t%10;
      s2=(t/10)%10;
      s3=t/100;
      if(s1+s2+s3==15)
      {
            printf("%d ",t);
            n++;
      }
      /**********found**********/
      ③______;
   }
   return n;
}
void main()
{
   int x=-1;
   while(x>999||x<0)
   {
      printf("Please input(0       scanf("%d",&x);
   }
   printf("\nThe result is: %d\n",fun(x));
}
/**********-code.c**********/


延伸阅读

你可能感兴趣的试题

3.单项选择题

下面结构体的定义语句中, 错误的是(     )。

A.struct ord {int x;int y;int z;} struct ord a;
B.struct ord {int x;int y;int z;}; struct ord a;
C.struct ord {int x;int y;int z;} a;
D.struct {int x; int y;int z;} a;

4.单项选择题

以下叙述中正确的是(     )。

A.在 C 语言中, 预处理命令行都以“#” 开头
B.预处理命令行必须位于 C 源程序的起始位置
C.#include 必须放在 C 程序的开头
D.C 语言的预处理不能实现宏定义和条件编译的功能

5.单项选择题

若要使用 C 数学库中的 sin 函数, 需要在源程序的头部加上
#include
关于引用数学库, 以下叙述正确的是(     )。

A.将数学库中 sin 函数的源程序插入到引用处, 以便进行编译链接
B.将数学库中 sin 函数链接到编译生成的可执行文件中, 以便能正确运行
C.通过引用 math.h 文件, 说明 sin 函数的参数个数和类型, 以及函数返回值类型
D.实际上, 不引用 math.h 文件也能正确调用 sin 函数

7.单项选择题

以下叙述中正确的是(     )。

A.如果 p 是指针变量, 则&p 是不合法的表达式
B.如果 p 是指针变量, 则*p 表示变量 p 的地址值
C.在对指针进行加、 减算术运算时, 数字 1 表示 1 个存储单元的长度
D.如果 p 是指针变量, 则*p+1 和*(p+1)的效果是一样的

8.单项选择题

以下叙述中正确的是(     )。

A.如果企图通过一个空指针来访问一个存储单元, 将会得到一个出错信息
B.即使不进行强制类型转换, 在进行指针赋值运算时, 指针变量的基类型也可以不同
C.设变量 p 是一个指针变量, 则语句 p=0;是非法的, 应该使用 p=NULL;
D.指针变量之间不能用关系运算符进行比较

9.单项选择题

以下叙述中正确的是(     )。

A.语句 p=NULL;执行后, 指针 p 指向地址为 0 的存储单元
B.指针变量只能通过求地址运算符(&) 来获得地址值
C.语句 p=NULL;与 p=\0;是等价的语句
D.int* p1; int ** p2; int *p3;都是合法的定义指针变量的语句