[求助]关于文件输入的问题
txt文件中有以下内容:
1,2,3,4,5;6,7,8
2,0,4;2,34,8,9
8,9;1,2,3,4,5,67
........
把每行中分号前的数字之和除以分号后的数字之和,然后输出到另一txt文件中,做了一上午了,都没想出来,哪位大侠帮忙想想,谢了!!!!
[此贴子已经被作者于2007-4-1 9:53:02编辑过]
----------------解决方案--------------------------------------------------------
谢谢了,终于有个回复的了 ,不知道还有没其它简单算法?
----------------解决方案--------------------------------------------------------
# include<stdio.h>
void main()
{
FILE *fp,*hp;
int k=0,m=0,n=0,i=0,j=0;
int sum[10];
char a[100],b[10];
char ch=' ';
char *p;
for(i=0;i<10;i++)
sum[i]=0;
fp=fopen("aa.txt","r");
if(!fp)
{
printf("cannot open this file\n");
}
while((ch=getc(fp))!=EOF)
{
if((ch!=';')&&(ch!='\n'))
{
a[i++]=ch;
a[i-1]=a[i-1]-'0';
sum[j]=sum[j]+a[i-1];
}
if((ch==';')||(ch=='\n'))
{
j++;}
}
printf("%d",sum[3]);
while(k<j)
{
b[m]=sum[k]/sum[k+1];
k=k+2;
m++;
}
for(k=0;k<m;k++)
b[k]=b[k]+'0';
fclose(fp);
hp=fopen("bb.txt","w+");
while(n<m)
{
fputc(b[n],hp);
fputc('\n',hp);
n++;
}
fclose(hp);
return;
}
这个是输入的纯数字时,且数字之间不能有其它的字符,当然以';'隔开,,,
----------------解决方案--------------------------------------------------------
# include<stdio.h>
void main()
{
FILE *fp,*hp;
int k=0,m=0,n=0,i=0,j=0;
int sum[10];
char a[100],b[10];
char ch=' ';
char *p;
for(i=0;i<10;i++)
sum[i]=0;
fp=fopen("aa.txt","r");
if(!fp)
{
printf("cannot open this file\n");
}
while((ch=getc(fp))!=EOF)
{
if((ch!=';')&&(ch!='\n'))
{
a[i++]=ch;
a[i-1]=a[i-1]-'0';
sum[j]=sum[j]+a[i-1];
}
if((ch==';')||(ch=='\n'))
{
j++;}
}
printf("%d",sum[3]);
while(k<j)
{
b[m]=sum[k]/sum[k+1];
k=k+2;
m++;
}
for(k=0;k<m;k++)
b[k]=b[k]+'0';
fclose(fp);
hp=fopen("bb.txt","w+");
while(n<m)
{
fputc(b[n],hp);
fputc('\n',hp);
n++;
}
fclose(hp);
return;
}
这个是输入的纯数字时,且数字之间不能有其它的字符,当然以';'隔开,,,
----------------解决方案--------------------------------------------------------
..那两位数34怎么输入啊 ?????
----------------解决方案--------------------------------------------------------
你可以用空格分开的,,,读的时候每次跳开空格就行了.....,,
----------------解决方案--------------------------------------------------------