复数的输入和输出
定义如下复数结构类型:
// 定义复数类型
typedef struct
{
// 实部, 虚部系数
double rp, ip;
} COMPLEX;
请编写函数,以“a±bi”的形式输入、输出复数的值。
函数定义
// 输入复数
void ComplexInput(COMPLEX *complex);
// 输出复数
void ComplexOutput(const COMPLEX *complex);
函数说明
ComplexInput 函数输入复数到 complex 所指示的变量中;
ComplexOutput 函数输出 complex 所指示的复数变量的值。
示例
输入
3.2-8.1i
输出
3.2-8.1i
代码如下:
#include <stdio.h>
// 定义复数类型
typedef struct
{
// 实部, 虚部系数
double rp,ip;
char op;
} COMPLEX;
// 输入复数
void ComplexInput(COMPLEX *complex)
{
double a,b;
char c;
scanf("%lf%c%lfi",&a,&c,&b);
complex->rp=a;
complex->op=c;
complex->ip=b;
}
// 输出复数
void ComplexOutput(const COMPLEX *complex)
{
printf("%.1lf%c%.1lfi",complex->rp,complex->op,complex->ip);
}
int main()
{
COMPLEX d;
ComplexInput(&d);
ComplexOutput(&d);
putchar('\n');
return 0;
}
如果有误,欢迎大家指正。