通常用一个形如”a+bi”的字符串来表示一个复数,a为复数的实部,b为复数的虚部。现在需要对输入的字符串进行分离,自动识别该复数的实部和虚部,并独立输出。

例如,对于输入的复数字符串“3-4.05i”,输出

complex 3-4.05i

the real part is 3

and the imaginary part is -4.05

注意:

1、用于表示复数的字符串符合数学上的书写习惯。

2、每组测试数据仅包括一个用于表示复数的字符串。

3、输入保证合法。

输入示例:

-4.567+3.987i

输出示例:

complex -4.567+3.987i

the real part is -4.567

and the imaginary part is 3.987

#include <iostream>
#include <string>
#include <cstring>
using namespace std;
class Complex{
private:string str;float real;float imag;void split(){int len=str.size()-1;if(str[len]!='i') {real=stof(str);imag=0;}else if(str=="i"){real=0;imag=1;}else{if(str.find('+',0)!=string::npos){char *p,*b;char s[100];strcpy(s,str.c_str());p=strtok(s,"+");real=stof(p);b=strtok(NULL,"+");imag=stof(b);}else if(str.find('-',0)!=string::npos){size_t l=str.find_last_of('-');if(l==0){real=0;if(str=="-i"){imag=-1;}else{imag=stof(str.substr(0,len));}}else{real=stof(str.substr(0,l));imag=stof(str.substr(l,len-l));}}else{real=0;imag=stof(str.substr(0,len));}}}
public:Complex(string n){str=n;split();}void dis(){cout<<"complex "<<str<<endl;cout<<"the real part is "<<real<<endl;cout<<"and the imaginary part is "<<imag<<endl;}
};
int main()
{string n;cin>>n;Complex c(n);c.dis();return 0;
}

7-3 复数的实部和虚部 (16分)相关推荐

  1. 建立一个复数类Complex,其私有数据成员mX和mY表示复数的实部和虚部,构造函数Complex用于对复数的实部和虚部初始化

    建立一个复数类Complex,其私有数据成员mX和mY表示复数的实部和虚部,构造函数Complex用于对复数的实部和虚部初始化,友员函数Add,Sub,Mul和Div分别用于进行复数的加.减.乘和除法 ...

  2. 傅里叶变化的本质:复数的实部和虚部的对应关系

    之前做计算光学成像,需要用到图像的相位信息.但是设计到傅里叶变化的实部和虚部的问题的时候,发现教科书上一般来讲,只会介绍一句: 如果f(x,y)是实函数,则它的傅里叶变化就是关于原点共轭对称的: F( ...

  3. python复数的实部和虚部都是整数嘛_Python学习笔记:从入门到放弃(2)基本语法...

    这次主要就记录一下Python中的基本语法,有标识符,注释,行与缩进,print函数输出以及数字类型和字符串 标志符: 第一个字符必须是字母表中字母或下划线 _ . 标识符的其他的部分由字母.数字和下 ...

  4. python中复数的实部和虚部都是浮点数_Python学习笔记:从入门到放弃(2)基本语法...

    这次主要就记录一下Python中的基本语法,有标识符,注释,行与缩进,print函数输出以及数字类型和字符串 标志符: 第一个字符必须是字母表中字母或下划线 _ . 标识符的其他的部分由字母.数字和下 ...

  5. python中复数的实部和虚部都是浮点数_Python基础:数值(布尔型、整型、长整型、浮点型、复数)...

    一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...

  6. python复数的实部和虚部都是整数嘛_数字类型

    Python数字数据类型用于储存数值. 数字类型是不可变类型,所谓不可变类型,指的是类型的值一旦有不同了,那么他就是一个全新的对象,数字1和2分别代表两个不同的对象,对变量重新赋值一个数字类型,会新创 ...

  7. python复数的实部和虚部都是整数嘛_Python数字(Number)

    Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间. 以下实例在变量赋值时 Number 对象将被创建: var1 = 1 var ...

  8. python访问复数的实部,虚部和模值

     >>> a=4+5j  产生一个复数 >>> a (4+5j) >>> a.real    复数的实部..real 4.0 >> ...

  9. python复数的实部和虚部的数字类型_Python基础:数据类型-数字(5)

    在Python中,所有的数据类型都是类,每一个变量都是类的实例. Python中有6种标准数据类型:数字(Number).字符串(String).列表(List).元组(Tuple).集合(Sets) ...

最新文章

  1. 机器学习模型如何获得可重复的结果?最佳实践是什么?如何处理random_state参数?
  2. 【STM32】端口复用和重映射,完全重映射,部分重映射
  3. SQLI DUMB SERIES-16
  4. C51单片机————总线与系统扩展
  5. emqx http not found 怎么回事_幽默笑话:行倒是行,但两个大男人这么说话算怎么回事...
  6. 一天搞定DXUT三步曲之二:添加文本
  7. Win7 下安装ubuntu14.04双系统
  8. http请求接口开发的几种方式
  9. 100道c语言经典编程题,C语言经典例题100道
  10. 实验代做 行人识别_实验室代做实验项目
  11. Android composse 声明式UI,更简单的自定义
  12. html中如何设计圆形图案,纯CSS绘制漂亮的圆形图案效果
  13. その他トランザクションコード
  14. Ubuntu18 安装SciDavis
  15. java a201游戏_A201 Java Spring+SpringMVC+MyBatis开发教育网站视频教程
  16. ffmpeg 设置网络代理_MAC下使用SSH设置代理的办法
  17. 滨州稻田绽放人生 国稻种芯·中国水稻节:山东盐碱地变良田
  18. VSCODE 空格键自动补全
  19. 【EEG】脑电图研究常用术语
  20. 机器人叶韵_绝命响应,47年后智能机器人实现独立自由,人类该如何应对

热门文章

  1. 教育机构课程顾问常见黑话大全
  2. 任志强2018首谈房价:买房去北京新机场 千万别去崇礼
  3. UML设计系列(6):活动图
  4. node.js毕业设计安卓英语答题APP(程序+APP+LW)
  5. 计算机网络概念基础——分组交换
  6. PMP证书备考攻略+PMP知识点汇总
  7. SPM混沌映射(含MATLAB代码)
  8. 大型三甲医院医学影像PACS系统源码(三维重建)
  9. RHCE-8-管理变量和事实/任务控制
  10. jQuery事件注册、jQuery事件对象、事件处理