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