全国计算机等级考试C语言上机考试题库 套 联系客服

发布时间 : 星期三 文章全国计算机等级考试C语言上机考试题库 套更新完毕开始阅读7c79c7b49c3143323968011ca300a6c30c22f11a

{ char a[10]=\ double c= ; fun(a,b,c); }

----------------------------------------------------------------------------------------------------------------- 【参考答案】

(1)FILE*??(2)fclose(fp)??(3)fp 【解题思路】

填空1:从使用fp=fopen(\可知fp应该是文件类型指针,因此本空因该填写FILE*。

填空2:当对fp作打开操作的时候,并进行不同的操作前,应该对其关闭,因为在第一次打开时是对fp进行写操作,而在第二次打开后进行的是读操作,因此应该先对fp进行关闭,本空填fclose(fp)。 填空3:fscanf()是把文本文件输出,因此本空只能填写fp。

2、程序修改

下列给定程序中,函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生的数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件中,不得增行或删行,也不得更改程序的结构。 ----------------------------------------------------------------------------------------------------------------- #include <> #include <> #include <> #include <> #include <> #define N 10 typedef struct ss { char num[10]; int s;

} STU;

STU *fun(STU a[], int m) { STU b[N],*t; int i, j,k;

/*************found**************/ *t=calloc(m,sizeof(STU)); for(i=0;i

{ for (i=j=0;ib[j].s) j=i; /*************found**************/ t[k].num=b[j].num; t[k].s=b[j].s; b[j].s=0; }

return t; }

outresult(STU a[],FILE *pf) { int i;

for(i=0;i

fprintf(pf, \ a[i].num, a[i].s); fprintf(pf, \ }

void main()

{ STU a[N]={{ \\\\\\\\

{ \\\\\\\\\

\

STU *pOrder; int i, m;