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

全国等级考试资料网 2022-08-02 04:15:55 141

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! ");

else

{ printf(" Head ");

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(" Enter a string: "); gets(s);

n=fun(s);

printf(" The result is: %d ",n);

}

相关资料

相关阅读