当前位置: 代码迷 >> C语言 >> [求助]C作业求助
  详细解决方案

[求助]C作业求助

热度:255   发布时间:2007-01-05 23:33:02.0
[求助]C作业求助
一,编写两个复数之积的函数Cmult,再理由该函数,求下列之积:
(1)(3+4i)*(5+6i)
(2)(10+20i)*(30+40i)
二.学生信息由学号姓名成绩组成,请定义一个学生动态链表完成
(1)学生个人信息输入
(2)根据学生学号进行排序,并输出排序后的学生数组信息
(3)编写一个查找函数,根据学生学号,输出该学生的相关信息
搜索更多相关的解决方案: 作业  

----------------解决方案--------------------------------------------------------
简单的加法复数形式
#include"stdio.h"
int main(void)
{
int a,b,c,d;
printf("(a+bi)*(c+di)\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
printf("%d+%di",a*c-d*b,a*d+b*c);
return 0;
}
----------------解决方案--------------------------------------------------------
又是作业啊
搜一下就好多啊
----------------解决方案--------------------------------------------------------
/*第一题*/
#include <stdio.h>
#include <conio.h>
typedef struct /*自定义一个复数结构体*/
{
float real; /*复数的实部*/
float image; /*复数的虚部*/
}dataType;
/*声明复数相乘函数,传入两个复数,返回一个复数*/
dataType complexMult(dataType,dataType);
void main(void)
{
/*定义三个复数变量*/
dataType complex1,complex2,complex3;
/*初始化二个复数变量*/
complex1.real=3, complex1.image=4;
complex2.real=5, complex2.image=6;
/*函数调用*/
complex3=complexMult(complex1,complex2);
/*清屏*/
clrscr();
/*打印结果*/
printf("result:\n\t\(%.0f,%.0fi\)",complex3.real,complex3.image);
/*暂停*/
getch();
}
/*复数相乘函数的定义*/
dataType complexMult(dataType complex1,dataType complex2)
{
dataType complex3;
/*复数相乘的实部:实部与实部相乘 减去 虚部与虚部相乘*/
complex3.real=complex1.real * complex2.real
- complex1.image * complex2.image;
/*复数相乘的虚部:虚部与实部相乘 加上 实部与虚部相乘*/
complex3.image= complex1.real * complex2.image
+ complex1.image * complex2.real;
/*返回一个复数*/
return complex3;
}
----------------解决方案--------------------------------------------------------
  相关解决方案