# C语言，请问怎么对一个数进行四舍五入并保留一位小数

【描述】

【输入】

【输出】

【输入示例】

2 3.08 -2.04 5.06
【输出示例】
(2.0+3.1i) + (-2.0+5.1i) = 8.1i
(2.0+3.1i) - (-2.0+5.1i) = 4.0-2.0i
(2.0+3.1i) * (-2.0+5.1i) = -19.7+3.8i
(2.0+3.1i) / (-2.0+5.1i) = 0.4-0.6i

• 写回答

#### 2条回答默认 最新

• CodeBytes 2023-02-12 17:25
关注

该回答引用ChatGPT

``````
#include<stdio.h>
#include<math.h>

typedef struct {
double real, imag;
}Complex;

Complex add(Complex c1, Complex c2) {
Complex result;
result.real = c1.real + c2.real;
result.imag = c1.imag + c2.imag;
return result;
}

Complex subtract(Complex c1, Complex c2) {
Complex result;
result.real = c1.real - c2.real;
result.imag = c1.imag - c2.imag;
return result;
}

Complex multiply(Complex c1, Complex c2) {
Complex result;
result.real = c1.real * c2.real - c1.imag * c2.imag;
result.imag = c1.real * c2.imag + c1.imag * c2.real;
return result;
}

Complex divide(Complex c1, Complex c2) {
Complex result;
result.real = (c1.real * c2.real + c1.imag * c2.imag) / (c2.real * c2.real + c2.imag * c2.imag);
result.imag = (c1.imag * c2.real - c1.real * c2.imag) / (c2.real * c2.real + c2.imag * c2.imag);
return result;
}

void printComplex(Complex c, char operator) {
if (c.real == 0) {
if (c.imag == 0) {
printf("0.0\n");
}
else if (c.imag > 0) {
printf("%.1fi\n", c.imag);
}
else {
printf("-%.1fi\n", fabs(c.imag));
}
}
else if (c.imag == 0) {
printf("%.1f\n", c.real);
}
else if (c.imag > 0) {
printf("(%.1f+%.1fi)\n", c.real, c.imag);
}
else {
printf("(%.1f-%.1fi)\n", c.real, fabs(c.imag));
}
}

int main() {
Complex c1, c2, result;
scanf("%lf%lf%lf%lf", &c1.real, &c1.imag, &c2.real, &c2.imag);
printComplex(c1, '+');
printComplex(c2, '=');
printComplex(result, '\0');
result = subtract(c1, c2);
printComplex(c1, '-');
printComplex(c2, '=');
printComplex(result, '\0');
result = multiply(c1, c2);
printComplex(c1, '*');
printComplex(c2, '=');
printComplex(result

``````
本回答被题主选为最佳回答 , 对您是否有帮助呢?
评论

#### 问题事件

• 已结题 （查看结题原因） 2月12日
• 已采纳回答 2月12日
• 创建了问题 2月12日

#### 悬赏问题

• ¥15 有偿求苍穹外卖环境配置
• ¥15 代码在keil5里变成了这样怎么办啊，文件图像也变了，
• ¥20 Ue4.26打包win64bit报错，如何解决？(语言-c++)
• ¥15 clousx6整点报时指令怎么写
• ¥30 远程帮我安装软件及库文件
• ¥15 关于#自动化#的问题：如何通过电脑控制多相机同步拍照或摄影（相机或者摄影模组数量大于60），并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
• ¥20 深信服vpn-2050这台设备如何配置才能成功联网？
• ¥15 Arduino的wifi连接，如何关闭低功耗模式？