时间:2012-04-06 22:02:48
第四套
1. 程序填空
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
第1处fp = fopen(filename, "rb");
第2处if (s[i].sno >s[j].sno)
第3处 fwrite(s,sizeof(STU),N,fp);
2. 程序修改
给定程序MODI1.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,差且覆盖原串。注意:字符串的长度最长允许为79.
void fun(char s[ ],int n)
{
char a[80],*p;
int i;
/*****found******/
p=s;
for(i=0;i<n;i++)
a[i]=’*’;
do
{a[i]=*p;
i++;
}
/*****found******/
while(*p++)
a[i]=0;
strcpy(s,a);
}
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]++;
else b[j]++;
}
}