#include "math.h"
创新互联建站专注于呼中企业网站建设,响应式网站设计,商城开发。呼中网站建设公司,为呼中等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
struct complex{
int a;
int b;
};
complex mul(complex x,complex y){
complex c;
c.a=x.a*y.a-x.b*y.b;
c.b=x.a*y.b+x.b*y.a;
return c;
}
complex div(complex x,complex y){
complex c;
c.a=(x.a*y.a+x.b*y.b)/(y.a*y.a+y.b*y.b);
c.b=(x.b*y.a-x.a*y.b)/(y.a*y.a+y.b*y.b);
return c;
}
complex powr(complex x,int n){
complex c;
c.a=1;
c.b=0;
for (int i=0;in;i++)
c=mul(c,x);
return c;
}
输入两个复数,计算并输出它们的和及乘积c语言编写:
#includestdio.h
#includemath.h
void main()
{ int i1,i2,j1,j2;
int sum(int i1,int i2,int j1,int j2);
int mul(int i1,int i2,int j1,int j2);
printf("请输入第一个复数的实部和虚部:");
scanf("%d %d",i1,i2);
printf("请输入第二个复数的实部和虚部:");
scanf("%d %d",j1,j2);
sum(i1,i2,j1,j2);
mul(i1,i2,j1,j2);
}
int sum(int i1,int i2,int j1,int j2)
{
int i,j;
i=i1+j1;
j=i2+j2;
printf("两复数的和为:%d+%di\n",i,j);
return 0;
}
int mul(int i1,int i2,int j1,int j2)
{
int i,j;
i=i1*j1-i2*j2;
j=i2*j1+i1*j2;
printf("两复数的积为:%d+%di\n",i,j);
return 0;
}
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
C语言基本特性:
1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。
2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。
4、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。
C语言本身没有复数这个数据类型,但是你可以自己定义:
typedef struct
{
double real; /* 实部 */
double imag; /* 虚部 */
}ComplexNumber;
然后你可以使用ComplexNumber来定义变量,然后用scanf("%f,%f", cn.real, cn.imag);这样的语句来输入复数,还可以进行其它任意操作。
#include stdio.h
struct complex
{
int re;
int im;
};
void add(struct complex a, struct complex b, struct complex *c)
{
c-re=a.re+b.re;
c-im=a.im+b.im;
}
void minus(struct complex a, struct complex b, struct complex *c)
{
c-re=a.re-b.re;
c-im=a.im-b.im;
}
int main()
{
struct complex x,y,s,p;
scanf("%d%d",x.re,x.im);
scanf("%d%d",y.re,y.im);
add(x,y,s);
printf(" sum=%5d+%5di\n",s.re,s.im);
minus(x,y,p);
printf(" product=%5d+%5di\n",p.re,p.im);
return 0;
}
这不是c语言的问题。
数学上复数的表示方法是 a + bi,按这个形式输出就可以了,比如:
1+9i
-3.45-8.33i
输出方法这样就行:
print("%f+%fi", a, b);