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

                %g不会输出无用的0;

              刚开始用int 结果应该是double 

                                                                                                      算法提高 6-17复数四则运算  
    时间限制:1.0s   内存限制:512.0MB
        
      设计复数库,实现基本的复数加减乘除运算。
      输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分隔;输出时按a+bi的格式在屏幕上打印结果。参加样例输入和样例输出。
      注意考虑特殊情况,无法计算时输出字符串"error"。
    样例输入
    2 4 * -3 2
    样例输出
    -14-8i
    样例输入
    3 -2 + -1 3
    样例输出
    2+1i
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int main()
    {
        double a,b,c,d;
        double s1=0,s2=0;
        char s;
        scanf("%lf%lf",&a,&b);
        getchar();
        scanf("%c",&s);
        scanf("%lf%lf",&c,&d);
       // printf("c=%c
    ",s);
       int flag=0;
        if(s=='*')
            {
                s1=a*c-b*d;
                s2=b*c+a*d;
            }
         if(s=='/')
         {
             if(c==0&&d==0)
                   {
                       printf("error");
                       flag=1;
                   }
             else
             {
               s1=((a*c+b*d)/(c*c+d*d));
              s2=(b*c-a*d)/(c*c+d*d);
             }
    
         }
         if(s=='-')
         {
             s1=a-c;
             s2=b-d;
         }
         if(s=='+')
         {
             s1=a+c;
             s2=b+d;
         }
         if(flag==0)
         {
         if(s2>0&&s1!=0)
         printf("%g+%gi
    ",s1,s2);
         if(s2<0&&s1!=0)
         printf("%g%gi
    ",s1,s2);
         if(s2==0)
           printf("%g
    ",s1);
         if(s1==0&&s2!=0)
           printf("%gi",s2);
    
         }
        return 0;
    }
  • 相关阅读:
    linux系统/var/log目录下的信息详解
    SQL 显示表名显示列名
    P2P平台介绍
    outlook署名最后一行没换行
    CSS3下的渐变文字效果实现
    SSH(poderosa)を使って、さくらのMySQLサーバーに接続する方法
    内网IP外网IP的关联及访问互联网原理
    自己吃的哑巴亏,怎么也要吞下去
    解决Ehcache缓存警告问题
    管理的艺术
  • 原文地址:https://www.cnblogs.com/cancangood/p/4357870.html
Copyright © 2011-2022 走看看