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

2021-10-07 23:29:40 字數 2762 閱讀 4476

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

在本文中,我將向您展示一種使用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。然後,使用以下命令執行程式

綜合測試

翻譯自:

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

C 用位運算實現加減乘除

include using namespace std intmain cout 兩個數x y求異或,得到的x,y不進製的和x0 101y 0110 x y001 1x與y求與,再左移一位,得到的是進製的數。x0 101y 0110 x y010 0 x y 110 00將不進製的和與進製的數再求和...

C 學習筆記 用位運算實現加減乘除

原文 資料在計算機記憶體中是以二進位制儲存的。幾種常用的位運算 以0111 0101為例,觀察異或運算和與運算的結果 0111 0101 0010 結果的每一位等於對應位相加模二,剛好是不帶進製的加法結果。0111 0101 0101 結果的1表示對應位相加為2,0表示對應位相加小於二,剛好是進製標...

用C語言設計計算器 實現加減乘除

方法一 通過普通方法 include includeint add int x,int y int sub int x,int y int nul int x,int y int drv int x,int y int main break case 2 break case 3 break cas...