蓝桥杯算法训练 P1103(复数运算)
来源:互联网 发布:外汇牌价走势图软件 编辑:程序博客网 时间:2024/05/19 12:38
编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:
要求:(1)定义一个结构体类型来描述复数。
(2)复数之间的加法、减法、乘法和除法分别用不用的函数来实现。
(3)必须使用结构体指针的方法把函数的计算结果返回。
说明:用户输入:运算符号(+,-,*,/) a b c d.
输出:a+bi,输出时不管a,b是小于0或等于0都按该格式输出,输出时a,b都保留两位。
输入:
- 2.5 3.6 1.5 4.9
输出:
要求:(1)定义一个结构体类型来描述复数。
(2)复数之间的加法、减法、乘法和除法分别用不用的函数来实现。
(3)必须使用结构体指针的方法把函数的计算结果返回。
说明:用户输入:运算符号(+,-,*,/) a b c d.
输出:a+bi,输出时不管a,b是小于0或等于0都按该格式输出,输出时a,b都保留两位。
输入:
- 2.5 3.6 1.5 4.9
输出:
1.00+-1.30i
#include <cstdio>struct Complex{ double a,b;};Complex add(Complex c1,Complex c2){ Complex result; result.a=c1.a+c2.a; result.b=c1.b+c2.b; return result;}Complex minu(Complex c1,Complex c2){ Complex result; result.a=c1.a-c2.a; result.b=c1.b-c2.b; return result;}Complex multi(Complex c1,Complex c2){ Complex result; result.a=c1.a*c2.a-c1.b*c2.b; result.b=c1.a*c2.b+c1.b*c2.a; return result;}Complex divide(Complex c1,Complex c2){ Complex result; result.a=(c1.a*c2.a+c1.b*c2.b)/(c2.a*c2.a+c2.b*c2.b); result.b=(c1.b*c2.a-c1.a*c2.b)/(c2.a*c2.a+c2.b*c2.b); return result;}int main(){ char op; double a,b,c,d; while(scanf("%c%lf%lf%lf%lf",&op,&a,&b,&c,&d)==5){ Complex x,y,ans; x.a=a;x.b=b; y.a=c;y.b=d; if(op=='+') ans=add(x,y); else if(op=='-') ans=minu(x,y); else if(op=='*') ans=multi(x,y); else if(op=='/') ans=divide(x,y); printf("%.2f+%.2fi\n",ans.a,ans.b); } return 0;}
阅读全文
0 0
- 蓝桥杯算法训练 P1103(复数运算)
- 算法训练 P1103 复数运算
- 算法训练 P1103 【复数运算,指针】
- 蓝桥杯 算法训练 P1103 (复数的计算)
- 蓝桥杯-P1103-复数运算
- 蓝桥杯P1103 复数运算问题
- 蓝桥杯 算法训练 P1103
- 蓝桥杯 算法训练 P1103
- 蓝桥杯 算法训练 P1103
- 蓝桥杯 算法训练 P1103
- 蓝桥杯 算法训练 复数运算
- java蓝桥杯算法训练 P1103
- 蓝桥杯 算法训练 P1103 (结构体指针)
- 蓝桥杯——算法训练 P1103
- 蓝桥杯 ALGO-142 算法训练 P1103
- 算法训练 P1103
- 算法训练 P1103
- 算法训练 P1103
- 函数式编程
- linux作业练习
- Java调用C++ DLL
- mysql优化-建立索引技巧
- 输入输出管理及文件权限的练习
- 蓝桥杯算法训练 P1103(复数运算)
- 从DialogFragment回传数据给CrimeFragment
- 16进制转8进制
- android Apk打包过程概述_android是如何打包apk的
- HDU 3938
- 爬格子呀5-5
- 并归排序算法
- JSTL – I18N - 国际化标签库。
- impdp导入数据无权限ORA-39213错误