当前位置: 代码迷 >> C语言 >> [求助]求算术平均数
  详细解决方案

[求助]求算术平均数

热度:642   发布时间:2007-05-30 21:36:05.0
[求助]求算术平均数
第四题:请编写程序,从文件in.dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx中下标为奇数的元素的算术平均值pj(保留2位小数)。结果cnt1、cnt2、pj输出到out.dat中。
第六题:通过C语言程序实现:从文件in.dat中读取300个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx中下标为奇数的元素的算术平均值pj(保留4位小数)。结果cnt1、cnt2、pj输出到out.dat中。
希望能帮我解决这两个难题。。这个做课程设计的。。救我于水深火热之中。。
在万般无赖之下,我做了很多次都没有答案的结果下。希望大家能帮我解决一下!!
搜索更多相关的解决方案: 算术平均数  

----------------解决方案--------------------------------------------------------

怎么没人帮忙啊。5555555555555~~


----------------解决方案--------------------------------------------------------
在帮你了,但是没有结果~
----------------解决方案--------------------------------------------------------

刚写完,好象运行不出,要熄灯了``我就不改了``你凑合着看看吧``
#include<stdio.h>
#include<stdlib.h>
void main(void)
{
FILE *f1,*f2;
int i,a,cnt1=0,cnt2=0,pj,sum=0;
int xx[200];
/*FILE *f1,*f2;*/
if((f1=fopen("in.dat","r"))==NULL)
{
printf("cannot open in.dat\n");
exit(0);
}
if((f2=fopen("out.dat","rw"))==NULL)
{
printf("cannot open ww\n");
exit(0);
}
for(i=0;i<200;i++)
{
fscanf(f1,"%d",&a);
if((a%2)==1)
cnt1++;
else cnt2++;
xx[i]=a;
}
for(i=1;i<200;i=i+2)
{
sum=xx[i]+sum;
}
pj=sum/100.0;
fwrite(xx,10,20,f2);
fputc(cnt1,f2);
fputc(cnt2,f2);
fputc(pj,f2);
system("pause");
}


----------------解决方案--------------------------------------------------------
4楼你的写得不错呀~
----------------解决方案--------------------------------------------------------

再帮忙改一下了。。谢谢你。辛苦了。。。。


----------------解决方案--------------------------------------------------------
我运行了一下还有一个错误啊。Unable to create output file 'F:\TC\XFG\ZZ.obj'│帮忙改改
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
void main(void)
{
    FILE *f1,*f2;
    int i,a,cnt1=0,cnt2=0,pj,sum=0;
    int xx[200];
    if((f1=fopen("in.txt","r"))==NULL)
    {
        printf("cannot open in.dat\n");
    exit(0);
    }
    if((f2=fopen("out.txt","w"))==NULL)
    {
        printf("cannot open ww\n");
    exit(0);
    }
    for(i=0;i<200;i++)
    {
        fscanf(f1,"%d",&a);
        printf("%d",a);
        if((a%2)==1)
           cnt1++;
        else cnt2++;
        xx[i]=a;
    }
    for(i=1;i<200;i=i+2)
    {
        sum=xx[i]+sum;
    }
    pj=sum/100.0;
    for(i=0;i<200;i++)
    {
        fprintf(f2,"%d",xx[i]);
    }
    fprintf(f2,"%d",cnt1);
    fprintf(f2,"%d",cnt2);
    fprintf(f2,"%d",pj);
    fclose(f1);
    fclose(f2);
    system("pause");
}

[此贴子已经被作者于2007-5-31 18:18:14编辑过]


----------------解决方案--------------------------------------------------------
网速太卡`上面的没法编辑,就看这个了`
我运行了一下,输出形式是对了,具体的````我也没再看``~你试试
#include<stdio.h>
#include<stdlib.h>
void main(void)
{
FILE *f1,*f2;
int i,a,cnt1=0,cnt2=0,pj,sum=0;
int xx[200];
if((f1=fopen("in.txt","r"))==NULL)
{
printf("cannot open in.dat\n");
exit(0);
}
if((f2=fopen("dfdft.txt","w"))==NULL)
{
printf("cannot open ww\n");
exit(0);
}
for(i=0;i<200;i++)
{
fscanf(f1,"%d",&a);
printf("%d",a);
if((a%2)==1)
cnt1++;
else cnt2++;
xx[i]=a;
}
for(i=1;i<200;i=i+2)
{
sum=xx[i]+sum;
}
pj=sum/100.0;
fputs("shuzu:\n",f2);
for(i=0;i<200;i++)
{
fprintf(f2,"%d",xx[i]);
}
fputs("cnt1:\n",f2);
fprintf(f2,"%d",cnt1);
fputs("cnt2:\n",f2);
fprintf(f2,"%d",cnt2);
fputs("pj:\n",f2);
fprintf(f2,"%d",pj);
fclose(f1);
fclose(f2);
system("pause");
}
----------------解决方案--------------------------------------------------------
好的,,太谢谢你了。。辛苦了。。。
----------------解决方案--------------------------------------------------------
  相关解决方案