算法训练 P1103
来源:互联网 发布:什么是淘宝第三方活动 编辑:程序博客网 时间:2024/05/19 13:56
算法训练 P1103
时间限制:1.0s 内存限制:256.0MB
编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:
要求:(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
编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:
要求:(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<iostream>#include<cstdlib>#include<iomanip>using namespace std;struct node{ double a; double b;};double x,y,m,n;node *add() //int没法return{ node *p; p=(node *)malloc(sizeof(node)); p->a=x+m; p->b=y+n; return p;}node *sub(){ node *p; p=(node *)malloc(sizeof(node)); p->a=x-m; p->b=y-n; return p;}node *mul(){ node *p; p=(node *)malloc(sizeof(node)); p->a=x*m-y*n; p->b=y*m+x*n; return p;}node *div(){ node *p; p=(node *)malloc(sizeof(node)); if(m==0||n==0) return NULL; double den=m*m+n*n; p->a=(x*m+y*n)/den; p->b=(y*m-x*n)/den; return p;}int main(){ node *p; p=(node *)malloc(sizeof(node)); char op; cin>>op; cin>>x>>y>>m>>n; switch(op) { case '+': p=add(); break; case '-': p=sub(); break; case '*': p=mul(); break; case '/': p=div(); break; default: break; } cout<<fixed<<setprecision(2)<<p->a<<"+"<<p->b<<"i"<<endl; return 0;}
这个题是要气死我,输入“+”,然后粘贴网页上的输入,结果一直输出“0.00+0.00i”。结果第一个是减号,不是负号,妈呀~~ 气死我!!!
阅读全文
0 0
- 算法训练 P1103
- 蓝桥杯 算法训练 P1103
- 算法训练 P1103
- 算法训练 P1103
- 算法训练 P1103
- 算法训练 P1103
- 算法训练 P1103
- 算法训练 P1103
- 算法训练 P1103
- 蓝桥杯 算法训练 P1103
- 算法训练 P1103
- 蓝桥杯 算法训练 P1103
- 算法训练 P1103
- 蓝桥杯 算法训练 P1103
- 算法训练 P1103
- 算法训练 P1103 复数运算
- java蓝桥杯算法训练 P1103
- 算法训练 P1103 【复数运算,指针】
- (maven学习一) 更新maven工程
- JS中穷举法和递归的运用
- java中Math常用的数学函数
- 微信APP支付java代码【详解】
- Linux的du 和 df 的区别
- 算法训练 P1103
- GDB使用
- 消息日志标准之syslog
- C语言中define与inline的一些小区别和用法
- Linux(Centos6)下安装MySql5.6.38
- 转:硬件篇之MMU
- redis学习笔记完整版
- 遗传算法及其代码实现(占坑)
- Idea+maven+tomcat部署第一个tomcat项目