复数问题

题目;输入两行。每行两个整数,第一行 a , b(a>=0,b>=0)分别表示第 一个数的实部和虚部,第二行两个数 c,d (c>=0,d>=0)分别表示第二 个数的实部和虚部。 ★数据输出 输出结果占一行,输出两个复数相加后的结果,结果需要满足手 写规则。

程序

  1.    
  2.             # include<stdio.h>  
  3. int main()  
  4. {  
  5.   long int a,b,c,d,x,y;  
  6.   scanf("%ld %ld %ld %ld",&a,&b,&c,&d);  
  7.   x=a+c;  
  8.   y=b+d;  
  9.   if(y!=0)  
  10.   {  
  11.    if(x==0)  
  12.    {  
  13.        if(y==1)  
  14.        printf("i");  
  15.        else  
  16.            printf("%di",y);  
  17.    }  
  18.    else  
  19.    {  
  20.      if(y==1)  
  21.          printf("%d+i",x);  
  22.      else  
  23.          printf("%d+%di",x,y);  
  24.    }  
  25.   }  
  26.     
  27.   else  
  28.   {    
  29.      if(x==0)  
  30.       printf("0");  
  31.      else  
  32.       printf("%d",x);  
  33.   }  
  34.   return 0;  
  35. }  
  36.      
  37. 复数中的特殊情况 a+bi   当a=0,b!=0时又分为 b等不等于1
  38.                                  当a=0,b=0时
  39.                                  当a!=0,b=0时
  40.                                当a!=0,b!=0时 又分为b等不等于1 
原文地址:https://www.cnblogs.com/wshyj/p/5983250.html