每日一题,练题第三天
此题难点是输出格式问题,printf函数输出两位小数是四舍五入,所以需要对最后的x,y进行0的判断,所以有下面的if语句,下面是完整的代码
#include<iostream>
#include<math.h>
using namespace std;
int main() {
double r1, p1, r2, p2, r, p,x,y;
cin >> r1 >> p1 >> r2 >> p2;
r = r1 * r2;
p = p1 + p2;
x = r * cos(p);
y = r * sin(p);
if (x + 0.05 >= 0 && x < 0)
printf("0.00");
else
printf("%.2f", x);
if (y >= 0)
printf("+%.2fi", y);
else if (y + 0.005 >= 0 && y < 0)
printf("+0.00i");
else
printf("%.2fi", y);
return 0;
}