如何计算复数的模 #包括 #包括 typedef结构复合体{ int-real,imag; }复杂的; int main() { int n; 复数*z; scanf(“%d”和“&n”); 对于(int i=0;i
现在,您正在尝试将多个数字写入复数如何计算复数的模 #包括 #包括 typedef结构复合体{ int-real,imag; }复杂的; int main() { int n; 复数*z; scanf(“%d”和“&n”); 对于(int i=0;i,c,complex-numbers,C,Complex Numbers,现在,您正在尝试将多个数字写入复数*z中,就像它是一个数组一样。它只是指向单个复数结构的指针。如果您希望有多个复数,请尝试生成大小为n的复数数组。对于int*d也是这样 我的建议是,首先让它对单个复数起作用,因为即使没有数组问题,您也会使用=#include来分配变量 #include <stdio.h> #include <math.h> typedef struct complex { int real, imag; }complex; int main
*z
中,就像它是一个数组一样。它只是指向单个复数结构的指针。如果您希望有多个复数,请尝试生成大小为n的复数数组。对于int*d
也是这样
我的建议是,首先让它对单个复数起作用,因为即使没有数组问题,您也会使用=
#include来分配变量
#include <stdio.h>
#include <math.h>
typedef struct complex {
int real, imag;
}complex;
int main ()
{
int n;
complex *z;
scanf("%d", &n);
for (int i=0 ; i<n ; i++)
{
scanf("%d %d", &z[i].real, &z[i].imag);
}
for( int i = 0; i < n; i++)
{
int *d;
d[i]==sqrt((z[i].real*z[i].real)+(z[i].imag*z[i].imag));
printf("%d\n", d[i]);
}
return 0;
}
#包括
结构复合体{
int-real,imag;
};
int main()
{
int n;
scanf(“%d”和“&n”);
结构复合体z[n];
对于(int i=0;iC有标准的复数类型和作用于它们的函数…请参见z
不指向任何地方,但您取消引用它您在循环内声明*d,这是无用的,并且在每次迭代中都会重新声明,而且它不能在该循环之外的任何地方使用,“==”应该是“=”正如“北极海象”在回答中所说的那样。
#include <stdio.h>
#include <math.h>
struct Complex {
int real, imag;
};
int main ()
{
int n;
scanf("%d", &n);
struct Complex z[n];
for (int i=0 ; i<n ; i++)
{
scanf("%d %d", &z[i].real, &z[i].imag);
}
double d[n];
for( int i = 0; i < n; i++)
{
d[i] = sqrt((z[i].real*z[i].real)+(z[i].imag*z[i].imag));
printf("%f\n", d[i]);
}
return 0;
}