用C實現複數

2021-10-06 12:04:21 字數 2699 閱讀 5444

在本文中,我將向您展示一種使用c程式語言實現複數的方法。 請注意,使用此處提供的**沒有任何保證。

複數是乙個數字,例如z,表示z = realpart + i * imaginarypart,其中i是虛數單位,有時用j表示。 另外,i * i = -1,這在查詢兩個複數的乘積/除法時很重要。

自然,我們可以將複數實現為結構:

/* definition of a complex number: */

typedef struct complex  complex;

我們可以按如下方式將介面與實現分開。

首先,我們有標題

complex.h,它定義了complex結構,幷包含處理乙個或多個complex數字的函式的原型:

/* complex.h */

#ifndef complex_h

#define complex_h

/* definition of a complex number: */

typedef struct complex  complex;

/* prototypes for functions to manipulate complex number(s) (these functions are implemented in file complex.c): */

complex addition( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 );

complex subtraction( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 );

complex multiplication( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 );

complex division(  const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 );

void print( const complex *pointertocomplexnumber );

#endif

檔案complex.c實現了以上功能:
/* complex.c */

#include 

#include "complex.h"

/* adds two complex numbers, returning a new one, without modifying the ones received: */

complex addition( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 )

/* subtracts two complex numbers, returning a new one, without modifying the ones received: */

complex subtraction( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 )

/* multiplies two complex numbers, returning a new one, without modifying the ones received: */

complex multiplication( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 )

/* divides two complex numbers, returning a new one, without modifying the ones received: */

complex division(  const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 )

/* prints a complex number in the form ( realpart ) + i( imaginarypart ), without modifying it: */

void print( const complex *pointertocomplexnumber )

最後,我們有乙個名為complextest.c的檔案,該檔案在主函式中測試檔案complex.ccomplex.h,這是我們c程式的起點:
/* complextest.c */

#include 

#include "complex.h"

int main( void )

要使用visual studio 2013編譯該程式,請從命令列開啟vs2013的「開發人員命令提示符」,轉到上述三個檔案所在的目錄,然後輸入命令cl complextest.c complex.c。然後,使用以下命令執行程式

綜合測試from:

用c 實現複數的加減乘除 用C實現複數

用c 實現複數的加減乘除 在本文中,我將向您展示一種使用c程式語言實現複數的方法。請注意,使用此處提供的 沒有任何保證。複數是乙個數字,例如z,表示z realpart i imaginarypart,其中i是虛數單位,有時用j表示。另外,i i 1,這在找到兩個複數的乘積 除法時很重要。自然,我們...

c 實現複數類

主要是練習用運算子過載實現複數的一些基本運算,包括 複數加法 過載的運算子 前置 後置 複數減法 過載的運算子 前置 後置 複數乘法 過載的運算子 複數除法 過載的運算子 如下 includeusing namespace std class complex 建構函式 complex const c...

C 實現複數類

complex類的成員變數有實部與虛部 protected double real double image c 中的complex類的基本函式,包括四個預設成員函式,比較運算子過載函式,賦值運算子過載函式,以及前置 與後置 的過載。四個預設成員函式是 1 建構函式 在定義物件時初始化成員變數,函式...