第六题:通过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");
}
----------------解决方案--------------------------------------------------------
好的,,太谢谢你了。。辛苦了。。。
----------------解决方案--------------------------------------------------------