改正下面程序中的错误,分别输入2个复数的实部与虚部,用函数计算2个复数积。 #include <stdio.h> float real,imag;// 全局变量,用于存放函数结果 int main(){ float real1,real2,imag1,imag2; printf(“input 1st complex num:\n”); scanf(“%f%f”,&real1,imag1); printf(“input 2st complex num:\n”); scanf(“%f%f”,&real2,imag2); complex_product(real1,imag1,real2,image2); printf(“product is %f+%fi\n”,real,imag); return 0; } void complex_product(float x1,y1,x2,y2); { float real,imag; real=x1*x2-y1*y2; imag=x1*y2+x2*y1; return real,imag; }
时间: 2024-03-21 08:41:01 浏览: 84
编写一个程序,获得一个数的实数部分和虚数部分,并打印
下面是改正后的程序:
```c
#include <stdio.h>
float real, imag; // 全局变量,用于存放函数结果
void complex_product(float x1, float y1, float x2, float y2); // 函数声明
int main() {
float real1, real2, imag1, imag2;
printf("input 1st complex num:\n");
scanf("%f%f", &real1, &imag1);
printf("input 2nd complex num:\n"); // 修正打印语句
scanf("%f%f", &real2, &imag2);
complex_product(real1, imag1, real2, imag2); // 修正函数调用
printf("product is %f + %fi\n", real, imag);
return 0;
}
void complex_product(float x1, float y1, float x2, float y2) {
real = x1 * x2 - y1 * y2; // 使用全局变量
imag = x1 * y2 + x2 * y1;
return; // 可以省略
}
```
主要修改包括:
- 修正打印语句中的拼写错误;
- 修正 `scanf()` 函数中的变量名错误;
- 修正函数调用中的变量名错误;
- 在函数声明中指定函数参数类型;
- 在函数中使用全局变量存储结果;
- 修正函数返回值的语法错误。
阅读全文