C或C++编写读取txt中的数据,并计算(含复数)

假如有个txt文件保存在F盘中,内容是:第一行:1.000(空1格)2.000第二行:3.000(空1格)4.000把一二行读出以复数形式存到a、b中,a=1+2*j,b... 假如有个txt文件保存在F盘中,内容是:
第一行:1.000(空1格)2.000
第二行:3.000(空1格)4.000
把一二行读出以复数形式存到a、b中,a=1+2*j,b=3+4*j
然后计算s=a*c+b*c (c=1-1*j)
哪位大神会编下的?
主要是要读取,而且还是复数,真头疼,c语言后面文件相关的没学好。。。
这些天问的问题比较多,都没什么分悬赏了。。
展开
 我来答
濮方雅BX
2012-12-29 · TA获得超过4042个赞
知道大有可为答主
回答量:2482
采纳率:60%
帮助的人:2462万
展开全部
用数组来表示复数 float a[2],b[2],c[2],s[2];
读取a、b
FILE *fp;
if((fp=fopen("f:\\a.txt","r+"))!=NULL)
{
fscanf("%f%f",&a[0] , &a[1] );
fscanf("%f%f",&b[0] , &b[1] );
fclose(fp);
}

相乘的函数:
void mult(float a[2], float c[2], float result[2])
{
result[0] = a[0] * c[0] - a[1] * c[1] ;
result[1] = a[1] * c[0] + a[0] * c[1] ;
return;
}
调用:
mult(a, c, s);
更多追问追答
追问
我忽然发现我那个文件里面还有其他东西,
第一行:1(1.000)(空1格)2(2.000)
第二行:3(3.000)(空1格)4(4.000)
这个该怎么提取呢?有没什么精确的定位法,麻烦你了
你那个用数组来表示复数的方法很好哇,我一般用的是结构体
追答
有括号吗?可以试试这样:
fscanf("%d(%f)",&dummy,&a[0] );
ps:注意可能中文的和英文的括号会混淆
李佳林j
2012-12-29 · 贡献了超过127个回答
知道答主
回答量:127
采纳率:0%
帮助的人:46.9万
展开全部
用文件读取与写入嘛
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式