2011年计算机等级二级C语言填空题练习题及答案解析(4)

发布时间:2011-09-16 共7页

导读:本套试题解析透彻,针对性和实用性很强,非常方便考生复习。

求最值

  1. 请补全main函数,该函数的功能是:从键盘上输入3个整数,然后找出最大的数并输出。

  main()

  {int a,b,c,max;

  clrscr();

  printf("\nInput three numbers:\n");

  scanf("%d,%d,%d",&a,&b,&c);

  printf("Thethree numbers are:%d,%d,%d\n",a,b,c);

  if (a>b)

  ___1___;

  else

  ___2___;

  if(max

  ___3___;

  printf("max=%d\n",max);

  }

  第一处:max=a

  第二处:max=b

  第三处:max=c

  解析:

  若a>b 则a较大,将其放入max中;否则将b存于max。

  此时,max中存放的就是前两个数中较大的,再将max与c比较。

  2. 函数fun的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。

  int fun(int a, int b, int c)

  {int t;

  t = (a>b) ? (b>c? b :(a>c?c:___1___)) : ((a>c)?___2___ : ((b>c)?c:___3___));

  return t;

  }

  第一处:a

  第二处:a

  第三处:b

  解析:条件表达式的理解。

  3. 请补全fun函数,该函数的功能是把从键盘输入的3个整数按从小到大输出。

  main()

  {int x,y,z,t;

  clrscr();

  printf("Input x,y,z\n");

  scanf("%d%d%d",&x,&y,&z);

  if (___1___)

  {

  t=x;

  x=y;

  y=t;

  } /*交换x,y的值*/

  if(___2___)

  {

  t=z;

  z=x;

  x=t;

  } /*交换x,z的值*/

  if(___3___)

  {

  t=y;

  y=z;

  z=t;

  } /*交换z,y的值*/

  第一处:x>y

  第二处:x>z

  第三处:y>z

  解析:

  3个数排序,两两比较,小的放前,大者放后。

  交换。

  

百分百考试网 考试宝典

立即免费试用