c语言输入实部虚部生成复数
时间: 2024-09-13 14:02:25 浏览: 46
在 C 语言中,你可以通过结构体和函数来创建和处理复数。首先,定义一个名为 `complex` 的结构体,包含两个成员变量分别表示实部 (`real`) 和虚部 (`imaginary`):
```c
typedef struct {
double real;
double imaginary;
} complex;
```
接下来,编写函数从用户那里获取输入,并构造复数:
```c
#include <stdio.h>
void input_complex(complex *num) {
printf("请输入复数的实部和虚部(例如 3 + 4i): ");
char input[50];
fgets(input, sizeof(input), stdin); // 读取一行用户输入
sscanf(input, "%lf %*c%lf", &num->real, &num->imaginary);
}
```
在这个 `input_complex` 函数里,`sscanf` 函数用于解析输入字符串,提取实部和虚部。`%lf` 表示读取双精度浮点数,`%*c` 表示跳过输入中的 '+' 或 'i'。
然后你可以像这样调用这个函数并显示结果:
```c
int main() {
complex num;
input_complex(&num);
printf("输入的复数为: (%lf, %lf)i\n", num.real, num.imaginary);
return 0;
}
```
阅读全文