zoukankan      html  css  js  c++  java
  • 算法提高 6-17复数四则运算

    http://lx.lanqiao.org/problem.page?gpid=T255

    算法提高 6-17复数四则运算  
    时间限制:1.0s   内存限制:512.0MB
        
      设计复数库,实现基本的复数加减乘除运算。
      输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分隔;输出时按a+bi的格式在屏幕上打印结果。参加样例输入和样例输出。
      注意考虑特殊情况,无法计算时输出字符串"error"。
    样例输入
    2 4 * -3 2
    样例输出
    -14-8i
    样例输入
    3 -2 + -1 3
    样例输出
    2+1i
     
    分析:
     
    注意除法的运算,分母为0时为:“error”
     
    AC代码:
     
     1 #include <stdio.h>
     2 #include <iostream>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     double a , b , c , d ;
     8     char str;
     9     scanf("%lf %lf %c %lf %lf",&a,&b,&str,&c,&d);
    10     if(str == '+')
    11     {
    12         double add1 = a + c;
    13         double add2 = b + d;
    14         if(add2 < 0)
    15             cout << add1 << add2 << "i" << endl;
    16         else
    17             cout << add1 << "+" << add2 << "i" << endl;
    18     }
    19     else if(str == '-')
    20     {
    21         double jian1 = a - c;
    22         double jian2 = b - d;
    23         if(jian2 < 0)
    24             cout << jian1 << jian2 << "i" << endl;
    25         else
    26             cout << jian1 << "+" << jian2 << "i" << endl;
    27     }
    28     else if(str == '*')
    29     {
    30         double cheng1 = a * c - b * d;
    31         double cheng2 = a * d + b * c;
    32         if(cheng2 < 0)
    33             cout << cheng1 << cheng2 << "i" << endl;
    34         else
    35             cout << cheng1 << "+" << cheng2 << "i" << endl;
    36     }
    37     else
    38     {
    39         if(c == 0 && d == 0)
    40             printf("error
    ");
    41         else
    42         {
    43             double chu1 = 1.0 * (a * c + b * d ) / (c * c + d * d );
    44             double chu2 = 1.0 * (b * c - a * d ) / (c * c + d * d );
    45             if(chu2 < 0)
    46                 cout << chu1 << chu2 << "i" << endl;
    47             else
    48                 cout << chu1 << "+" << chu2 << "i" << endl;
    49         }
    50     }
    51     return 0;
    52 }
    View Code
  • 相关阅读:
    dotnet core 3.0 linux 部署小贴士
    Akka.net 性能测试兼使用小技巧
    如何给小学生讲清楚ECC椭圆曲线加密
    Typescript骚操作,在TS里面直接插入HTML
    源自于NEO的KeyValue 数据库面世啦
    编译ROCKSDB总结
    Windows linux子系统 使用说明
    dotnetcore http服务器研究(二)性能分析
    dotnetcore Http服务器研究(一)
    使用信号量来 限制无边界池子与队列
  • 原文地址:https://www.cnblogs.com/jeff-wgc/p/4450732.html
Copyright © 2011-2022 走看看