求C高手指点我的程序错误是哪里?

来源:百度知道 编辑:UC知道 时间:2024/05/10 10:00:10
学C一学期,老师出了个作业:老师要我们用C编写一个程序,读取D盘中的一个存放有学生成绩(只是成绩)的文本文件score1.txt,要求把成绩用整型数据存放在一个数组中,然后排序保存到score2.txt。下面是我的程序(自己确实乱想的 不会做,对文件的操作我们都没学过):
#include<stdio.h>
#define ARR_SIZE 20
void Paixu(int score[],int n);/*函数申明*/
int Duquint(FILE *fp,int result[],char readchar[]);
main()
{
int n,i,score[ARR_SIZE];
char result[ARR_SIZE];
FILE *fpt=fopen("D:\\score1.txt","rb");
FILE *fps=fopen("D:\\score2.txt","wb");
if(fpt==NULL)return;
n=Duquint(fpt,score,result);
Paixu(score,n);
for(i=0;i<n;i++)
{
fprintf(fps,"%d",score[i]);
fputc(' ',fps);
}
fclose(fpt);
fclose(fps);
}
int Duquint(FILE *fp,int result[],char readchar[])
{
int i,j;
for(i=0;;i++)
{
for(j=1;;j++)
{
readchar[j]=fgetc(fp);
if(readchar[j]==' ')

靠 楼上的 你要能20行写出来 我给你100分
最讨厌这种不懂装懂的

#include<iostream.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void DAS(char *a,char *b)
{
int x[255],q=0,j,t;
unsigned char c;
FILE *fp1,*fp2;
fp1=fopen(a,"rb");
if(NULL==fp1)
{cout<<"不存在!";exit(0);}
fp2=fopen(b,"wb");
if(NULL==fp2)
{cout<<"创建错误!";exit(0);}
for(int i=0;i<255;i++)
x[i]=0;
while(1)
{
c=fgetc(fp1);
if(255==c)
break;
if((c>57||c<48)&&' '!=c)
{cout<<"文件格式有问题!"<<c;fclose(fp1);fclose(fp2);
exit(0);}
if(c<=57&&c>=48)
{x[q]=10*x[q]+c-48;}
else
{q++;}
}
for(i=0;i<=q;i++)
for(j=0;j<i;j++)
if(x[i]<x[j])
{t=x[i];x[i]=x[j];x[j]=t;}
for(i=0;i<=q;i++)
{