當前位置:編程學習大全網 - 編程軟體 - c語言負數運算

c語言負數運算

/*

c語言復數運算

*/

#include<stdio.h>

#include<stdlib.h>

typedef?struct

{

double?r,i; //r為實部,i為虛部?

}complex;

complex*?add(complex?*a,complex?*b);?//復數a?+?復數b?

complex*?minus(complex?*a,complex?*b); ?//復數a?-?復數b?

complex*?multiply(complex?*a,complex?*b);?//復數a?*?復數b?

void?printComplex(complex?*a);?//輸出?

complex*?add(complex?*a,complex?*b)?{

complex?*add;

add->r?=a->r+b->r;

add->i?=a->i+b->i;

return?add;

}

complex*?minus(complex?*a,complex?*b)?

{

complex?*minus;

minus->r?=a->r-b->r;

minus->i?=a->i-b->i;

return?minus;

}

complex*?multiply(complex?*a,complex?*b)?

{

complex?*multiply;

multiply->r?=?a->r*b->r-a->i*b->i;

multiply->i?=?a->i*b->r+a->r*b->i;

return?multiply;

}

void?printComplex(complex?*a)?//輸出要註意虛部有負數的情況

{

if(a->r!=0) ?

printf("%.2lf",a->r); //不要斷行,先輸出實部

else

printf("0.00");

if(a->i>0) //大於0,正常輸出+虛部

printf("?+?%.2lfi\n",a->i);

else?if(a->i<0) ?//虛部是負數,不用輸出+號了,直接輸出負數

printf("?%.2lfi\n",a->i);

else

printf("?+?0.00i\n");//虛部為0

}

幫妳改了下,再去試試吧。壹時之間我也想不出還有什麽漏洞了。祝好運。如果是自己寫主函數的話,改壹改那個輸入吧,輸入很容易會造成問題的

這壹句: scanf("...%f ?%c ",...,c),壹個不好輸入就會出錯,c可能會獲取到空白。

  • 上一篇:單片機音樂代碼問題
  • 下一篇:matlab編程解釋
  • copyright 2024編程學習大全網