c語(yǔ)言復(fù)數(shù)的運(yùn)算怎樣進(jìn)行

小樊
129
2024-07-17 22:47:45

在C語(yǔ)言中,可以使用<complex.h>頭文件中提供的數(shù)據(jù)類(lèi)型和函數(shù)來(lái)進(jìn)行復(fù)數(shù)的運(yùn)算。復(fù)數(shù)數(shù)據(jù)類(lèi)型是double complex,可以使用creal()cimag()函數(shù)來(lái)獲取復(fù)數(shù)的實(shí)部和虛部。

以下是一些常用的復(fù)數(shù)運(yùn)算函數(shù):

  1. 加法:c = a + b;
  2. 減法:c = a - b;
  3. 乘法:c = a * b;
  4. 除法:c = a / b;
  5. 求模:double mod = cabs(c);
  6. 求共軛:c = conj(a);
  7. 求冪:c = cpow(a, n);

示例代碼:

#include <stdio.h>
#include <complex.h>

int main() {
    double complex a = 1.0 + 2.0*I;
    double complex b = 3.0 - 4.0*I;
    double complex c;
    
    c = a + b;
    printf("a + b = %.2f + %.2fi\n", creal(c), cimag(c));
    
    c = a * b;
    printf("a * b = %.2f + %.2fi\n", creal(c), cimag(c));
    
    c = conj(a);
    printf("Conjugate of a = %.2f + %.2fi\n", creal(c), cimag(c));
    
    return 0;
}

注意:在使用復(fù)數(shù)庫(kù)時(shí),需要在編譯時(shí)鏈接數(shù)學(xué)庫(kù)-lm,例如gcc program.c -o program -lm。

0