#include <stdio.h>
// 定义复数结构体
typedef struct {
double real; // 实部
double imag; // 虚部
} Complex;
// 创建复数
Complex create_complex(double real, double imag) {
Complex c;
c.real = real;
c.imag = imag;
return c;
}
// 打印复数
void print_complex(Complex c) {
printf("(%.2lf + %.2lfi)", c.real, c.imag);
}
// 复数加法
Complex add_complex(Complex a, Complex b) {
Complex result;
result.real = a.real + b.real;
result.imag = a.imag + b.imag;
return result;
}
// 复数减法
Complex subtract_complex(Complex a, Complex b) {
Complex result;
result.real = a.real - b.real;
result.imag = a.imag - b.imag;
return result;
}
// 复数乘法
Complex multiply_complex(Complex a, Complex b) {
Complex result;
result.real = a.real * b.real - a.imag * b.imag;
result.imag = a.real * b.imag + a.imag * b.real;
return result;
}
// 复数除法
Complex divide_complex(Complex a, Complex b) {
Complex result;
double denom = b.real * b.real + b.imag * b.imag;
result.real = (a.real * b.real + a.imag * b.imag) / denom;
result.imag = (a.imag * b.real - a.real * b.imag) / denom;
return result;
}
int main() {
Complex a, b, result;
int choice;
double real, imag;
printf("请输入第一个复数的实部和虚部: ");
scanf("%lf %lf", &real, &imag);
a = create_complex(real, imag);
printf("请输入第二个复数的实部和虚部: ");
scanf("%lf %lf", &real, &imag);
b = create_complex(real, imag);
printf("请选择要进行的运算:\n");
printf("1. 加法\n");
printf("2. 减法\n");
printf("3. 乘法\n");
printf("4. 除法\n");
printf("请输入您的选择(1-4): ");
scanf("%d", &choice);
switch (choice) {
case 1:
result = add_complex(a, b);
printf("加法结果: ");
print_complex(result);
break;
case 2:
result = subtract_complex(a, b);
printf("减法结果: ");
print_complex(result);
break;
case 3:
result = multiply_complex(a, b);
printf("乘法结果: ");
print_complex(result);
break;
case 4:
result = divide_complex(a, b);
printf("除法结果: ");
print_complex(result);
break;
default:
printf("无效的选择。\n");
break;
}
return 0;
}
C语言实现复数的四则运算
最新推荐文章于 2024-07-16 21:30:19 发布