时间:2012-04-06 22:02:19
第三套
1. 程序填空
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数 fun的功能是重写形参filename所指的文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。
第1处:fp=fopen(filename,”rb+”)
第2处:fseek(fp,-1L*sizeof(STU),SEEK_END);
第3处:fwrite(&n,sizeof(STU),1,fp);
2. 程序修改
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。
NODE *Creatlink(int n,int m)
{ NODE *h=NULL,*p,*s;
int i;
/*****found******/
p=( NODE *) malloc(sizeof(NODE));
h=p
p->next=null;
for(i=1;i<=n;i++)
{s=( NODE *) malloc(sizeof(NODE));
s->data=rand()%m;
s->next=p->next;
p->next=s;
p=p->next;
}
/*****found******/
return h;
}
3. 程序设计
请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。
int fun(char *s)
{
int k=1;
while(*s)
{ if(*s==’ ’)k++;
s++; }
return k;
}