C語言復數的加減及輸出結構體
一、
#include<stdio.h> typedef struct complex { int real; //實部 int imag; //虛部 }complex; /* 功能:復數加法 參數:兩個復數 返回值:兩個復數的和 */ complex complexadd(complex x,complex y) { complex sum; sum.real = x.real + y.real; sum.imag = x.imag + y.imag; return sum; } /* 功能:復數減法 參數:兩個復數 返回值:兩個復數的差 */ complex complexsub(complex x,complex y) { complex sum; sum.real = x.real - y.real; sum.imag = x.imag - y.imag; return sum; } /* 功能:打印復數 參數:一個復數 */ void printfcomplex(complex x) { printf("%d",x.real); if(x.imag > 0) { printf("+"); } printf("%d\n",x.imag); } int main() { complex f1 = {3,-5}; complex f2 = {-5,8}; printfcomplex(f1); printfcomplex(f2); complex f3 = complexadd(f1,f2); printfcomplex(complexadd(f1,f2)); printfcomplex(f3); printfcomplex(complexsub(f1,f2)); return 0; }
二、分文件
complex.c
#include<stdio.h> #include"complex.h" /* 功能:復數加法 參數:兩個復數 返回值:兩個復數的和 */ complex complexadd(complex x,complex y) { complex sum; sum.real = x.real + y.real; sum.imag = x.imag + y.imag; return sum; } /* 功能:復數減法 參數:兩個復數 返回值:兩個復數的差 */ complex complexsub(complex x,complex y) { complex sum; sum.real = x.real - y.real; sum.imag = x.imag - y.imag; return sum; } /* 功能:打印復數 參數:一個復數 */ void printfcomplex(complex x) { printf("%d",x.real); if(x.imag > 0) { printf("+"); } printf("%di\n",x.imag); }
main.c
#include<stdio.h> #include"complex.h" // complex 頭文件 int main() { complex f1 = {3,-5}; // 結構體初始化 complex f2 = {-5,8}; printfcomplex(f1); // 打印復數 printfcomplex(f2); complex f3 = complexadd(f1,f2); printfcomplex(complexadd(f1,f2)); printfcomplex(f3); printfcomplex(complexsub(f1,f2)); return 0; }
complex.h
#ifndef __COMPLEX_H__ #define __COMPLEX_H__ // 類型聲明 typedef struct complex { int real; //實部 int imag; //虛部 }complex; /* 功能:復數加法 參數:兩個復數 返回值:兩個復數的和 */ complex complexadd(complex x,complex y); /* 功能:復數減法 參數:兩個復數 返回值:兩個復數的差 */ complex complexsub(complex x,complex y); /* 功能:打印復數 參數:一個復數 */ void printfcomplex(complex x); #endif
到此這篇關於C語言復數的加減及輸出結構體的文章就介紹到這瞭,更多相關C語言復數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!