在本文中,我將向您展示一種使用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.c實現了以上功能:/* 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
最後,我們有乙個名為complextest.c的檔案,該檔案在主函式中測試檔案complex.c和complex.h,這是我們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 )
要使用visual studio 2013編譯該程式,請從命令列開啟vs2013的「開發人員命令提示符」,轉到上述三個檔案所在的目錄,然後輸入命令cl complextest.c complex.c。然後,使用以下命令執行程式/* complextest.c */
#include
#include "complex.h"
int main( void )
綜合測試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 建構函式 在定義物件時初始化成員變數,函式...