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!

推薦閱讀: