一道c语言编程题,高分求助!!

问题打我大致描述一下噻
这是一道从文件输入,再输出到文件的题
输入文件有三行。第一行有一个数,这个数代表了有多少名学生参加了考试,第二行是每个参加考试的同学的成绩,第三行是需要查找的成绩,要先排序,再将需要查找的成绩的名次输出到文件。
高手帮帮忙

粗糙的写了个简单的代码
输入文件名input.txt:其内容如下
6
60 80 50 40 90 70
40
结果输出文件名output.txt其内容如下:
5 排名第五。
#include<stdio.h>
#include <malloc.h>
typedef struct student
{
int totalnum;
float *elem;
float findscore;
}stu;
void main()
{
int i,j,n;
stu S;
FILE *fp;

if(!(fp =fopen("input.txt","r")))
{
printf("文件打开失败!请确定是否有input.txt文件。");
return ;
}
fscanf(fp,"%d",&n);
S.totalnum = n;
S.elem = (float*)malloc(n*sizeof(float));
for(i=0;i<n;i++)//读n个学生成绩
fscanf(fp,"%f",&S.elem[i]);
fscanf(fp,"%f",&S.findscore);
fclose(fp);
fp = fopen("output.txt","w+");

for(i=0;i<n-1;i++)
{
float temp;
for(j=i+1;j<n;j++)
{
if(S.elem[j]>S.elem[i])
{
temp = S.elem[j];
S.elem[j] = S.elem[i];
S.elem[i] = temp;
}
}
}
int ranknum;
for(i=0;i<n;i++)
{
if(S.elem[i] == S.findscore)
{
ranknum = i;break;
}
}
fprintf(fp,"%d",ranknum);
fclose(fp);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-04
还是去CSDN上去看看吧,这儿编程题求不出来的,我之前问过无数次这种问题,没有回答的。
第2个回答  2011-12-04
其实也就是弄个数据结构存储数据,排序下,再创个文件类型存储就行了,简单的很。。。记得是c实践课程里面的题
第3个回答  2011-12-05
2楼真。。。
相似回答