c语言练习题 加各年考题 附答案~
要求:将正确程序文件(学号后四位.doc)发送到邮箱,888666每迟交1天扣2分,最迟周三下午,当堂交的加2分
完善程序
1、【题目】
下面程序用来从键盘上读入一行字符,并按输入顺序建立一个链式结点序列,新添加的结点存入当前刚读入的字符,读入完成后,再按该链式序列的反向顺序输出这一行字符,最后,释放全部结点空间。
#define getnode(type) (type*)malloc (sizeof(type))
#define null 0
#define “stdio.h”
main()
{struct node {char info;
struct node *link;
}*top,*p;
char c;
top=( ); null
while((c=getchar())!=’\n’)
{p=getnode( ); struct node
p->info=c;
p->link=( ); top
top=( ); p
}
while (top!=null)
{p=( ); top
); top->link
putchar(p->info);
free(p);
}
}
2、【题目】
以下程序首先建立一个链表, 函数fmax( )的功能是: 求出链表所有结点中, 数据域值最大的结点的位置, 并由参数s返回给主函数. 该函数的第一参数是链表的首指针.
#include “stdio.h”
#include “alloc.h”
struct node
{ int data;
struct node *next;
}
void fmax(struct node *head, struct node ) // **s