q=p; p=p->next;
} else {
p=p->next; free(q->next); q->next=p; } } p=h;
while (p!=NULL) { printf(\ p=p->next; }
4. 当输入:3 1 2 3 4 5 6 7 8 9 时,下列程序的输出是_______。
#include 
void mt(int *a,int n) {
int i, j, t;
    for (i=0; i t=*(a+i*N+j);  *(a+i*N+j)=*(a+j*N+i);  *(a+N*j+i)=t; }  《程序设计基础及实验》课程期末考试试卷, 2010年1月27日                                       9 / 8          return;  }  int main() {   int a[N][N],n,i,j;      scanf(\  for(i=0;i         for(j=0;j             scanf(\    mt(&a[0][0],n);   for(i=0;i        for(j=0;j              printf(\     }  return 0; }  5. 当输入:5 3 2 6 5 8<回车>时,下列程序的输出为_______。#include  《程序设计基础及实验》课程期末考试试卷, 2010年1月27日                                         10 / 8  {    int *p,flag,i,n,s;     scanf(\      p= (int*)malloc(n*sizeof(int));      for(i=0;i                  s+=*p;  break;                        }  if(i==n)  flag = 0 ;     }     printf(\    free(p);  }  6. 当输入:100  5  125  18  121  6<回车> 时,下列程序的输出为_______。 #include  《程序设计基础及实验》课程期末考试试卷, 2010年1月27日                                        11 / 8     char *p = \void fun(int n, int m); void main() {      int n,m,i;     for(i=0; i<3; i++){          scanf(\        fun(n, m);         printf(\    } }  void fun(int n, int m) {          if(n / m) fun(n/m,m);      printf(\}   试题四、程序(段)填空题(每空2分,共20分)  1. 已知一个单向链表h。函数KthBackNode(h,k)查找链表h中倒数第k(k>0)个位置上的结点。若查找成功,返回该结点的data域值,否则返 《程序设计基础及实验》课程期末考试试卷, 2010年1月27日                                       12 / 8