7-4 复数的实部和虚部(8 分)

新博客:https://wywwzjj.top/

 

通常用一个形如”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

 

“输入保证合法”还是有几个小坑的:

1、实部为0;

2、虚部为0;

3、直接输0.

 

 

下面给出我的代码,欢迎斧正(有点麻烦,有待优化)

7-4 复数的实部和虚部(8 分)_第1张图片

 

#include 
#include 
using namespace std;

int main()
{
    string complex;
	cin>>complex;
	if(complex[complex.length()-1]!='i')//判断输入的复数虚部是否为0,只需判断末尾字符有无"i"
	{
		cout<<"complex "<

 

你可能感兴趣的:(C++练习题)