日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言复数的运算实验报告,C语言复数的运算(实验报告).doc

發布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言复数的运算实验报告,C语言复数的运算(实验报告).doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗報告

題目:復數的四則運算

班級: 13信管 姓名:白浩然 學號:201340403034 完成日期:2014.05.21

一、需求分析

1.本演示程序中復數由兩個相互之間存在次序關系的實數構成。

2.演示程序以用戶和計算機的對話方式執行,即在計算機終端上顯示“提示信息”之后,由用戶在鍵盤上輸入演示程序中規定的運算命令;相應的輸入數據和運算結果顯示在其后。

3.程序執行的命令包括:

1)由輸入的實部和虛部生成一個復數;2)兩個復數求和;3)兩個復數求差;4)兩個復數求積;5)從已知復數中分離出實部;6)從已知復數中分離出虛部。

4.測試數據:

1)構造復數:

2) 復數求和:

3) 復數求差:

4) 復數求積:

5) 提取實部:

6) 提取虛部:

2、 編碼實現

#include "stdio.h"

#include "stdlib.h"

struct complex{

float real;//實部

float imag;//虛部

};

//構造復數

void InitComplex(complex &c,float r1,float r2)

{

c.real=r1;//r1為實部

c.imag=r2;//r2為虛部

}

//復數求和

void AddComplex(complex &c,complex c1,complex c2)

{

c.real=c1.real+c2.real;//實部相加

c.imag=c1.imag+c2.imag;//虛部相加

}

//復數求差

void SubComplex(complex &c,complex c1,complex c2)

{

c.real=c1.real-c2.real;//實部相減

c.imag=c1.imag-c2.imag;//虛部相減

}

//復數求積

void MulComplex(complex &c,complex c1,complex c2)

{

c.real=(c1.real*c2.real)-(c1.imag*c2.imag);

c.imag=(c1.real*c2.imag)+(c2.real*c1.imag);

}

//分離實部

void RealComplex(complex c,float &r)

{

r=c.real;

}

//分離虛部

void ImagComplex(complex c,float &r)

{

r=c.imag;

}

//主程序

void main()

{

complex c,c1,c2;

float r,r1,r2,r11,r22,r12,r21;

int node;

printf("請輸入要操作的序號:\n");

printf("1.構造一個復數 2.兩個復數求和 3.兩個復數求差\n");

printf("4.兩個復數求積 5.分離出實部 6.分離出虛部\n");

scanf("%d",&node);

while(node!=0)

{

switch(node){

case 1:printf("輸入復數的實部和虛部:\n");

scanf("%f %f",&r1,&r2);

InitComplex(c,r1,r2);

printf("構造的復數為:%f+%fi\n",c.real,c.imag);

break;

case 2:printf("輸入c1的實部和虛部:\n");

scanf("%f %f",&r11,&r12);

InitComplex(c1,r11,r12);

printf("輸入c2的實部和虛部:\n");

scanf("%f %f",&r21,&r22);

InitComplex(c2,r21,r22);

AddComplex(c,c1,c2);

printf("結果為:%f+%fi\n",c.real,c.imag);

break;

case 3:printf("輸入c1的實部和虛部:\n");

scanf("%f %f",&r11,&r12);

InitComplex(c1,r11,r12);

printf("輸入c2的實部和虛部:\n");

scanf("%f %f",&r21,&r22);

InitComplex(c2,r21,r22);

SubComplex(c,c1,c2);

printf("結果為:%f+%fi\n",c.real,c.imag);

break;

case 4:printf("輸入c1的實部和虛部:\n");

scanf("%f %f",&r11,&r12);

InitComplex(c1,r11,r12);

printf("輸入c2的實部和虛部:\n");

scanf("%f %f",&r21,&r22);

InitComplex(c2,r21,r22);

MulComplex(c,c1,c2);

printf("結果為:%f+%fi\n",c.real,c.imag);

break;

case 5:printf("輸入復數的實部和虛部:\n");

scanf("%f %f",&r1,&r2);

InitComplex(c,r1,r2);

RealComplex(c,r);

printf("實部為:%f\n",r);

break;

case 6:printf("輸入復數的實部和虛部:\n");

scanf("%f %f",&r1,&r2);

InitComplex(c,r1,r2);

ImagComplex(c,r);

printf("虛部為:%f\n",r);

break;

default:printf("結束");

}

scanf("%d",node);

}

}

3、 調試分析

1. 開始時文件后綴寫成了“.c”,導致調試多次無法運行,后來改為“.cpp”;

2. 多處“%f”寫成了“%d”,導致程序不能正常運行;

3. 定義結構體時,最后一個“}”后忘記加“;”,導致程序出現錯誤,以后應多加注意。

展開閱讀全文

總結

以上是生活随笔為你收集整理的c语言复数的运算实验报告,C语言复数的运算(实验报告).doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。