三级中的C语言程序题,请看程序中的注释

来源:百度知道 编辑:UC知道 时间:2024/05/05 11:03:14
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 1000

int xx[MAX],odd=0,even=0;
double ave1=0.0,ave2=0.0,totfc=0.0;
void WriteDat(void);

int ReadDat(void)
{
FILE *fp;
int i,j; //就是这一行!!!!!!!!!!!!!!!
if((fp=fopen("IN029.DAT","r"))==NULL) return 1;
//移到这里就不对了,搞不明白
for(i=0;i<100;i++){
for(j=0;j<10;j++){
fscanf(fp,"%d,",&xx[i*10+j]);}
fscanf(fp,"\n");
if(feof(fp))break;

}
fclose(fp);
return 0;
}

void Compute(void)
{ int toto=0,tote=0;int dd[MAX];
int i=0,j=0;
for(i;i<1000;i++){
if(xx[i]%2){odd++;toto+=xx[i];dd[j]=xx[i];j++;}
else {even++;tote+=xx[i];}

}
ave1=toto/odd;
ave2=tote/even;
for(i=0;i<j;i++){totfc+=(dd[i]-ave1)*(dd[i]-ave1);}
totfc=(totfc/odd);

}

if((fp=fopen("IN029.DAT","r"))==NULL) return 1;
这个是以只读的形式打开文件IN029.DAT

#define MAX 1000是什么意思?
宏定义 即在编译之前完成的预处理 在代码中效果就是1000被MAX替换

fscanf(fp,"\n");是什么意思
fp是个指针,在这里是逐行读取/写入的意思 把fscanf看成file scanf理解就好了