会考,会在改错题中涉及链表和文件。
例如:
#include lt;stdio.hgt;
#include lt ;stdlib.hgt;
#define N 8
typedef struct
{
char num[10];
double s[N];
double ave;
} STREC;
int main(void)
{
STREC Stu;
int i;
void fun();
FILE *fp;
if ((fp=fopen("39test61.dat","r"))==NULL)//
{
printf("文件打开错误!\n");
exit(0);
}
fscanf(fp, "s",stu.num);
for(i =0;ilt;N;i)
fscanf(fp, "lf", amp;stu.s[i]);//
fclose(fp); p>
fun(amp;stu);//
printf("s的学生数据:\n",stu.num);
for(i=0 ;ilt;N;i )
printf("4.1f\n",stu.s[i]);
printf("\nave=7.3f\n", Stu.ave);
return(0);
}
void fun(STREC *p)//
{
int i;
p-gt;ave=0.0;//
for(i=0;ilt;N;i )
p-gt;ave=p-gt;ave p-gt;s[i];
p-gt;ave=p-gt;ave/N;
}
链表(Linked list)是一种常见的基础数据结构,是一种线性表,是一种物理存储单元上非连续、非顺序的存储结构。链表由一系列结点组成(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括存储数据元素的数据域和存储下一个结点地址的指针域两个部分。线性表顺序结构,操作复杂。数据元素的逻辑顺序也是通过链表中的指针链接栈实现的。