2010计算机等考二级C:50套上机程序填空题(1)

发布时间:2019-02-04 18:57:05

2010计算机等考二级C:50套上机程序填空题(1)

15、给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#define N 6

typedef struct node {

int data;

struct node *next;

} NODE;

void fun(NODE *h)

{ NODE *p, *q; int t;

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

p = __1__ ;

while (p) {

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

q = __2__ ;

while (q) {

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

if (p->data __3__ q->data)

{ t = p->data; p->data = q->data; q->data = t; }

q = q->next;

}

p = p->next;

}

}

NODE *creatlist(int a[])

{ NODE *h,*p,*q; int i;

h = (NODE *)malloc(sizeof(NODE));

h->next = NULL;

for(i=0; i

{ q=(NODE *)malloc(sizeof(NODE));

q->data=a[i];

q->next = NULL;

if (h->next == NULL) h->next = p = q;

else { p->next = q; p = q; }

}


return h;

}

void outlist(NODE *h)

{ NODE *p;

p = h->next;

if (p==NULL) printf("The list is NULL!n");

else

{ printf("nHead ");

do

{ printf("->%d", p->data); p=p->next; }

while(p!=NULL);

printf("->E
序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

#include

int fun(char *s)

{ int sum=0;

while(*s) {

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

if( isdigit(*s) ) sum = *s- __1__ ;

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

__2__;

}

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

return __3__ ;

}

main()

{ char s[81]; int n;

printf("nEnter a string:nn"); gets(s);

n=fun(s);

printf("nThe result is: %dnn",n);

}

阅读更多其他试题,请访问生活日记网 用日志记录点滴生活!考试试题频道。
喜欢考试试题,那就经常来哦

该内容由生活日记网提供.