全国计算机等级考试二级C语言上机92

全国等级考试资料网 2023-11-13 14:00:22 71
☆题目92
请编制程序prog1.c,从文件in.dat中读取200个整数至数组xx中,求出最大数max及最大数的个数cnt和数组xx中能被3整除或能被7整除的算术平均值pj(保留2位小数)。
 结果max,cnt,pj输出到out.dat中。
 部分程序、读数据函数read_dat(int xx[200])及输出格式已给出。
#include 
#include 
#define n 200

void read_dat(int xx[n])
{
 int i,j;
 file *fp;

 fp=fopen("in.dat","r");
 for(i=0;i<20;i++){
 for(j=0;j<10;j++){
 fscanf(fp,"%d,",&xx[i*10+j]);
 printf("%d",xx[i*10+j]);
 }
 printf(" ");
 }
 fclose(fp);
}

void main()
{
 int m,temp,n,sum;
 int cnt,xx[n],max ;
 float pj;
 file *fw;

 clrscr();
 fw=fopen("out.dat","w");
 read_dat(xx);
/*********************/
 cnt=0; max=xx[0]; pj=0.0; n=0;
 for(m=0;m if(max for(m=0;m {if(xx[m]==max) cnt++;
 if(xx[m]%3==0||xx[m]%7==0)
 { pj+=xx[m]; n++; }
 }
 pj/=n;

/*********************/

printf(" max=%d,cnt=%d,pj=%6.2f ",max,cnt,pj);
fprintf(fw,"%d %d %6.2f ",max,cnt,pj);
fclose(fw);
} 相关资料

相关阅读