weixin_43961246 2018-12-29 00:28 采纳率: 0%
浏览 2237

如何用C++理想地输出复数(更符合人们的书写习惯)

复数由实部和虚部,虚部只需要加上"i"即可。
但现在想输出时更贴合正常书写,比如
1. 正数开头时不带"+",+2,+6之类的就不符合书写习惯。
同样地,实部为零时,+3i、+6i也不符合。
2. 另外,当虚部为1或-1时,我们会写成i或-i,而不是1i或-1i
3. 注意0的输出吧
主要是1,2的要求。
现在问题是我的输出好像有点随机,实部为正时一会儿带"+"一会儿不带
谢谢大佬们了
下面是输出函数,定义了Complex类(包括实部real和虚部image,都是float)

void Complex::display()
{
if(fabs(real)>1e-10) //实部不为零
{

cout< if(fabs(image)>1e-10) //虚部不为零

{

if(fabs(fabs(image)-1)>1e-10) cout< else
{
if(image>0) cout<<"+i"< else cout }
}
else cout }
else //实部为零
{
if(fabs(image)>1e-10)

{

if(fabs(fabs(image)-1)>1e-10) cout< else
{
if(image>0) cout<<"i"<<endl;
else cout<<"-i"<<endl;
}
}
else cout<<"0"<<endl;
}
}
输出为下
15个测试
c1(1,1),c2(1,2),c3(1,-1),c4(1,-2),c5(-1,1)
c6(-1,2),c7(-1,-1),c8(-1,-2),c9(0,0),c10(0,1)
c11(0,2),c12(0,-1),c13(0,-2),c14(1,0),c15(-1,0)
具体输出
1+i
1+2i
+1-i
+1-2i
-1+i
-1+2i
-1-i
-1-2i
0
i
+2i
-i
-2i
+1
-1
请按任意键继续. . .

  • 写回答

1条回答 默认 最新

  • _ZGq 2018-12-29 08:04
    关注

    为什么有单独的cout后面是else或}呢?还有cout<的?
    能用“ ``` ”把代码括起来,或者放一张图片吗?

    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题