1 程序填空
程序通过定义学生结构体变量, 存储了学生学号, 姓名和 3 门课的成绩。 所有学生数据均以
二进制方式输出到文件中。函数 fun 的功能是从形参 filename 所指的文件中读入学生数据,
并按照学号从小到大排序后, 再用二进制方法把排序后的学生数据输入到 filename 所指的文
件中,覆盖原来的文件内容。
第一处: fp=fopen(filename, ”rb”);
第二次: if (s 【i】.sno>s【j】.sono)
第三处: fwrite(s,sizeof(STU),N,fp);
2 程序修改
给定程序 MODI1.C 中函数 fun 的功能是: 在字符串的最前端加入 n 个* 号,形成新串, 并且
覆盖原串。
第一处: p=s;
第二处: while(*p++);
3 程序设计
请编写函数 fun,函数的功能是:统计各年龄段的人数。 N 个年龄通过调用随即函数获得,
并放在主函数的 age 数组中; 要求函数把 0 至 9 岁年龄段的人数放在 d[0] 中,把 10 至 19 随
年龄段的人数放在 d[1] 中,把 20 至 29 岁年龄段的人数放在 d[2] 中,其余依次类推,把 100
岁(含 100)以上年龄段的人数放在 d[10] 中,结果在主函数中输出。
Void fun(int *a, int *b)
{int i,j;for(i=0;i<M;i++) b 【i 】=0; for(i=0;i<N;i++){j=a[i]/10; if(j>10)b[M-1]++;esle b[j]++;}}
第三套
1. 程序填空
程序通过定义学生结构体变量, 存储了学生的学号、 姓名和 3 门课的成绩。 所有学生数据均
以二进制方式输出到文件中。函数 fun 的功能是重写形参 filename 所指的文件中最后一个
学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。
第 1 处: fp=fopen(filename, ”rb+”)
第 2 处: fseek(fp,-(lomg) 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;
评论0
最新资源