background image

  for(i=0;i<M;I++)< p=""></M;I++)<>

  printf("%d ",a[i]);

  printf("\n");

  fun(a,m);

  printf("排序后的顺序:");

  for(i=0;i<M;I++)< p=""></M;I++)<>

  printf("%d ",a[i]);

  printf("\n");

  }

  答案及评析:

  (1)错误:for(j=0;j<="">

  正确:for(j=0;j<N-1;J++)< p=""></N-1;J++)<>

  (2)错误:a[p]=t;

  正确:a[j]=t;

  【解析】错误 1:根据 C 语言语法,for 循环中循环条件后不加分号,除非做空操作。

  错误 2:将两数进行交换的常用语句,借助第三个变量。

3. 编程题

  下列程序定义了 N×N 的二维数组,并在主函数中赋值。请编写函数 fun(),函数的

功能是:求出数组周边元素的平方和并作为函数值返回给主函数中的 s。例如:若 a 数

组中的值为

  a=0 1 2 7 9

  1 11 21 5 5

  2 21 6 11 1

  9 7 9 10 2

  5 4 1 4 1

  则返回主程序后 s 的值应为 310。

  注意:部分源程序给出如下。

  请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所

编写的若干语句。

  试题程序:

  #include 

  #include