写一个c语言程序(输入两个复数(格式如2+3i),输出两个复数相加的结果。)

输入两个复数(格式如2+3i),输出两个复数相加的结果。假定实部和虚部都是正整数。要求按复数格式输入输出。要求程序的运行结果形式如下:
Please input complex 1:3+5i<Enter>
Please input complex 2:8+9i<Enter>
The Sum is=11+14i

#include<stdio.h>

int main()
{
int x1,y1, x2, y2;

printf("Please input complex 1:");
scanf("%d+%di", &x1, &y1);
printf("Please input complex 2:");
scanf("%d+%di", &x2, &y2);
printf("The sum is=%d+%di\n", x1+x2, y1+y2);
return 0;
}

以上程序是最简单的形式,输入时要注意只能x+yi这样输入,各个字符间不能有空格
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-19
#include <iostream>
using namespace std;
class complex
{public:
complex(){real=0;imag=0;}
complex(double r,double i) {real=r;imag=i;}
complex operator + (complex &c2);//声明重载运算符+的函数
void display();
private:
double real;
double imag;
};
complex complex :: operator +(complex &c2)//定义重载运算符+的函数
{complex c;
c.real=real+c2.real;
c.imag=imag+c2.imag;
return c;}
void complex::display()
{cout<<"("<<real<<","<<imag<<"i)"<<endl;}

int main()
{complex c1(3,5),c2(8,9),c3;
c3=c1+c2; //运算符+用于复述运算
cout<<"Please input complex 1:"<<"c1=";c1.display();
cout<<"Please input complex 2:"<<"c2=";c2.display();
cout<<"The Sum is:"<<"c1+c2=";c3.display();
return 0;
}
第2个回答  2011-07-19
#include <stdio.h>
void main()
{
int i11,i12,i21,i22;
printf("Please input complex 1:");
scanf("%d+%di",&i11,&i12);
printf("\nPlease input complex 2:");
scanf("%d+%di",&i21,&i22);
printf("\nThe Sum is=%d+%di",i11+i21,i12+i22);
}
你运行一下试试。本回答被提问者采纳
第3个回答  2018-09-14
#include <iostream>
#include <fstream>
using namespace std;

class complex{
public:
int real;
int imag;
complex(int r=0,int i=0){
real=r;
imag=i;
}

};
//定义重载运算符+的函数
complex operator+(complex& a,complex& b){   
int r=a.real+b.real;
int i=a.imag+b.imag;
return complex(r,i);
}

void main(){
complex x(1,2),y(3,4),z;
z=x+y;
cout<<z.real<<"+"<<z.imag<<"i"<<endl;

}

第4个回答  2011-07-20
简单,汗,我只给你写主函数体。
(1) typedef struct complex *Complex;
struct complex;
int main(void)
{
Complex a,b;
scanf("%f %f %f %f",a->re,a->im,b->re,b->im);
printf("%f+%fi",(a->re+b->re),(a->im+b->im));
}
(2)int main(viod)
{
char a;
scanf("%c",&a);
if(a>='a'&&a<='z')
{
a-=32;
}
else if(a>='A'&&a<='Z')
{
a+=32;
}
else
{
a='0';
}
printf("%c",a);
}
(3)不明白你想说什么,好像为了前进一步就绕地球后退一圈加一步。这样写总明白了
void swap(int *a;int *b)
{
int temp;

temp=*a;
*a=*b;
*b=temp;
}
int main()
{
int a=3; int b=6;int c=9;
swap(&a,&b);
swap(&b,&c);
}

写一个c语言程序(输入两个复数(格式如2+3i),输出两个复数相加的结果...
int main(){ int x1,y1, x2, y2;printf("Please input complex 1:");scanf("%d+%di", &x1, &y1);printf("Please input complex 2:");scanf("%d+%di", &x2, &y2);printf("The sum is=%d+%di\\n", x1+x2, y1+y2);return 0;} 以上程序是最简单的形式,输入时要注意只能...

数据结构编程题目:利用add函数求两个复数2+3i和4+5i的和。(要求用结构...
scanf("%f",&c.a1); \/\/有改动 printf("请输入第一个复数的虚部:"); scanf("%f",&c.b1); \/\/有改动 printf("请输入第二个复数的实部:");

复数四则运算的结果要拆开吗?
复数四则运算的结果一般来说可以拆开,也可以不拆开。拆开结果时,需要将实部和虚部分别拆开,再进行计算。拆开结果可能更直观、更容易理解,但有时也会使结果变得更加复杂。举例说明,在两个复数相加的情况下,有以下计算:(2+3i) + (4+5i) = (2+4) + (3+5)i = 6 + 8i 如果不拆开,用复...

如何判断两个复数的和为1的解的形式?
1.答案:r1=2+3i,r2=2-3i。2.解题过程:这道题用配方法更容易明白。需要求解的其实相当于一个一元二次方程:r²-4r+13=0,那么先不看常数项,r²-4r+4=0即(r-2)²=0,那么原来的式子就变为(r-2)²=-13+4=-9,因为-9=3i×3i,所以-9开根号为3i,可...

若复数z满足iz=2+3i(i是虚数单位),则z= .
从而得到复数z的值.解答:解:设z=a+bi,(a、b是实数)则iz=ai+bi2=-b+ai ∵iz=2+3i ∴-b+ai=2+3i,可得a=3且b=-2 因此z=3-2i 故答案为:3-2i 点评:本题给出一个复数乘以虚数单位后得到的复数,求这个复数的值,着重考查了复数的四则运算和复数相等的含义,属于基础题.

一个复数的表示方法,例如2+3i,把它记作向量形式应该是(2,3)_百度知 ...
求距离则中间是减号 所以是|z-(1+√3i)| 所以是z到(1,√3)的距离

复数运算的法则都有哪些?
1.加法法则 复数的加法法则:设z1=a+bi,z2=c+di是任意两个复数。两者和的实部是原来两个复数实部的和,它的虚部是原来两个虚部的和。两个复数的和依然是复数。即 2.乘法法则 复数的乘法法则:把两个复数相乘,类似两个多项式相乘,结果中i2= -1,把实部与虚部分别合并。两个复数的积仍然是...

复数运算(2-3i)x(2+3i)结果是多少?为什么我算的是9?
(a + b) * (a - b) = a^2 - b^2 4-9i^2 = 4+9 = 13

C#编写一个复数类,要求: 1、具有实部和虚部属性 2、默认构造函数初始化...
class Complex { private double a;public double A { get { return a; } set { a = value; } } private double b;public double B { get { return b; } set { b = value; } } public Complex(){ a = 0;b = 3;} public void SetNumber(double x, double y){ a = x;b ...

一个复数乘一个复数的向量怎么算
如果将复数也看成二维向量,Z=2+3i=(2,3)则二维行向量可以和二维列向量相乘(行乘列)得到(2,3)*(4,5)T=2×4+3×5=23.这是我的理解,供参考.

相似回答