}
main ( )
{static struct complx za = {3,4}; static struct copmlx zb = {5,6}; struct complx z, x, y; z=cmult(
F3以下程序的输出结果为“4,2”,请将程序补充完整。 #include
{enum color {Red, White=<3>, Blue, Green=1, Yellow}; enum color p;
=&c1; c1=Blue; c2=Yellow;
printf(\}
F4 以下程序中,main函数调用add函数能求出单向链表中所有节点数据域的和并存放在sum中。请将程序补充完整。 #include \struct link {int data; stuct link *next; };
int add(struct link *head) {struct link *p; int s=0; p=
; while(p){s+=
return(s); }
main ( )
{struct link *head; ...... /* 创建链表的程序段,省略 */ sum=
N5 以下output函数输出链表上数据大于n的所有节点。请将函数补充完整。 #include
21
int a;
struct Ai *next; };
void output(struct Ai *head) {int i=0; struct Ai *p;
if(head==NULL)
{printf(\} else
{ p=
; do {i++;if(p.a大于n)
printf(\指向) p=p指向next;
}while(p.next!=NULL); } }
F6 下面函数delete的功能是,删除单向链表中数据值为num的第一个节点。请将程序补充完整。 #include \struct Ai {int a;
struct Ai *next; };
< struct Ai > *delete (struct Ai *head) {struct Ai *p1, *p2; if(head==NULL)
{printf(\ return(head); }
p1=head;
while(p1.next!=NULL) {p2=p1;
p1=p1指向
if(num==p1指向) {if(p1==head)
head==NULL; else p2=p1; free(p1);
printf(\}
22
else
printf(\return(head); }
F7.以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中。 #include
struct node *next;}
h = (struct node *)malloc(sizeof(struct node)); p=q=h;
while(*s!=NULL)
{ p=(struct node *)malloc(sizeof(struct node)); p指向data =<*s>;
q指向next = p;q=p;s++;} p指向next = NULL;return h; }
void main()
{ char str[] =\struct node *head;
head = CreatList(str);.......} F8、以下程序的运行结果: #include
{int num; struct NODE *next; } main()
{
p=(struct NODE *)malloc(sizeof(struct NODE)); q=(struct NODE *)malloc(sizeof(struct NODE)); r=(struct NODE *)malloc(sizeof(struct NODE)); p->num=10; q->num=20; r->num=30; p->next=q; q->next=
printf(\}
R9、选择程序的运行结果。 #include \ struct cmplx
23
{ int x; int y;
} cnum[2] = { 1, 3, 2, 7 }; main( ) {
printf(\运行结果<2>*/ printf(\运行结果<3>*/ }
F10、以下函数creat用来建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾。单向链表的头指针作为函数值返回。请填空: #include
struct list * next; };
struct list * creat( ) { struct list * h,*p,*q; char ch;
h=
ch=getchar( ); while (ch! ='?')
{p= struct list *malloc(sizeof(struct list)); p指向data=ch; q指向next=p; q=p;
ch=getchar( ); }
p指向next='\\0'; return(
第七章 文件
程序填空题
R1以下程序把从键盘输入的字符存放到一个文件中,用“#”作为结束符。请按
24