c语言 复数的加减法 满足手写规则
1个回答
展开全部
输入输出样例里面的分号 ,不确定是真会输出,还是只是分隔输入输出。
常见的应该没有分号。输入1+i 2输出3+i
这个程序, 麻烦在于如何将输入的数据,转为复数。
可以先将输入 存为两个字符串,对每个字符串进行解析,转为复数。
对于每个字符串,先查找是否存在i,这个很简单,如果有,那么一定是最后一个。
如果不存在i,那么虚部为0,将字符串转为实部即可。
如果存在i,那么查找是否存在+或者-,如果不存在,说明没有实部,实部设置为0
如果存在只有-, 同时-为字符串第一个元素, 那么一样没有实部。
如果存在+,或者存在不是首元素的-,说明同时有实部和虚部,区分两部分,分别转换。
转换后,得到复数,简单的相加,得到结果。
输出时,一样要判断实部,虚部是否为0,然后再根据复数规则输出。 这部分相对要简单的多了。
常见的应该没有分号。输入1+i 2输出3+i
这个程序, 麻烦在于如何将输入的数据,转为复数。
可以先将输入 存为两个字符串,对每个字符串进行解析,转为复数。
对于每个字符串,先查找是否存在i,这个很简单,如果有,那么一定是最后一个。
如果不存在i,那么虚部为0,将字符串转为实部即可。
如果存在i,那么查找是否存在+或者-,如果不存在,说明没有实部,实部设置为0
如果存在只有-, 同时-为字符串第一个元素, 那么一样没有实部。
如果存在+,或者存在不是首元素的-,说明同时有实部和虚部,区分两部分,分别转换。
转换后,得到复数,简单的相加,得到结果。
输出时,一样要判断实部,虚部是否为0,然后再根据复数规则输出。 这部分相对要简单的多了。
追问
这个我懂,但整个弄下来太长也太麻烦了,除了这种对每种情况都讨论,还有其他办法吗?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询