演算法提高 6 17複數四則運算

2021-08-22 08:28:45 字數 1199 閱讀 8761

/*

設計複數庫,實現基本的複數加減乘除運算。

輸入時只需分別鍵入實部和虛部,以空格分割,

兩個複數之間用運算子分隔;

輸出時按a+bi的格式在螢幕上列印結果。

參加樣例輸入和樣例輸出。

注意考慮特殊情況,無法計算時輸出字串"error"。

樣例輸入

2 4 * -3 2

樣例輸出

-14-8i

樣例輸入

3 -2 + -1 3

樣例輸出

2+1i*/

#includetypedef

struct

fs_t ;

void input( fs_t * , fs_t *, char *) ;

void solve( fs_t ,fs_t , char );

void add(fs_t ,fs_t);

void sub(fs_t ,fs_t);

void mul(fs_t ,fs_t);

void div(fs_t ,fs_t);

double main(void)

void add(fs_t fs1 , fs_t fs2 )

void sub(fs_t fs1 , fs_t fs2)

printf("%.0lfi", fs1.xb - fs2.xb) ;

}void mul(fs_t fs1 , fs_t fs2)

printf("%.0lfi", fs1.sb*fs2.xb + fs1.xb*fs2.sb ) ;

}void div(fs_t fs1 , fs_t fs2)

printf("%g" , (fs1.sb * fs2.sb + fs1.xb*fs2.xb) / ( fs2.sb * fs2.sb + fs2.xb * fs2.xb)) ;

if( fs1.xb*fs2.sb - fs1.sb*fs2.xb >= 0 )

printf("%gi" , (fs1.xb*fs2.sb - fs1.sb*fs2.xb) / ( fs2.sb * fs2.sb + fs2.xb * fs2.xb));

}void solve(fs_t fs1, fs_t fs2, char c)

}void input( fs_t *fs1 , fs_t *fs2 , char * ch)

演算法提高 6 17複數四則運算

演算法提高 6 17複數四則運算 時間限制 1.0s 記憶體限制 512.0mb 設計複數庫,實現基本的複數加減乘除運算。輸入時只需分別鍵入實部和虛部,以空格分割,兩個複數之間用運算子分隔 輸出時按a bi的格式在螢幕上列印結果。參加樣例輸入和樣例輸出。注意考慮特殊情況,無法計算時輸出字串 erro...

演算法提高 6 17複數四則運算

g不會輸出無用的0 剛開始用int 結果應該是double 演算法提高 6 17複數四則運算 時間限制 1.0s 記憶體限制 512.0mb 設計複數庫,實現基本的複數加減乘除運算。輸入時只需分別鍵入實部和虛部,以空格分割,兩個複數之間用運算子分隔 輸出時按a bi的格式在螢幕上列印結果。參加樣例輸...

6 17複數四則運算

設計複數庫,實現基本的複數加減乘除運算。輸入時只需分別鍵入實部和虛部,以空格分割,兩個複數之間用運算子分隔 輸出時按a bi的格式在螢幕上列印結果。參加樣例輸入和樣例輸出。注意考慮特殊情況,無法計算時輸出字串 error 樣例輸入 2 4 3 2 樣例輸出 14 8i 樣例輸入 3 2 1 3 樣例...