background image

  【解析】填空 1:由程序可以知道,变量 g 保存了整数的个位数,变量 s 保存了整

数的十位数,所以变量 b 应该保存整数的百位数。将整数除以 100 再对 10 取余,则得

到这个整数的百位数。填空 2:当个位数字和百位数字之和等于十位数字时,则返回

″yes!″。填空 3:当个位数字和百位数字之和不等于十位数字时,则返回″no!″。

2. 改错题

  下列给定的程序中,函数 fun()的功能是:用选择法对数组中的 n 个元素按从大到小

的顺序进行排序。

  请改正程序中的错误,使它能得到正确结果。

  注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。

  试题程序:

  #include

  #define N 20

  void fun(int a[],int n)

  {

  int i,j,t,p;

  /**********************found***********************/

  for(j=0;j<="">

  {

  p=j;

  for(i=j;i<N;I++)< p=""></N;I++)<>

  if(a[i]>a[p])

  p=i;

  t=a[p];

  a[p]=a[j];

  /**********************found***********************/

  a[p]=t;

  }

  }

  main()

  {

  int a[N]={11,32,-5,2,14},i,m=5;

  printf("排序前的数据:");