當前位置:首頁 » 編程語言 » c語言使用虛數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言使用虛數

發布時間: 2022-06-26 03:05:16

㈠ 在編一元二次方程的c語言中出現虛數,怎麼表示虛數i

是計算一元二次方程組的解吧。就是當delta<0時的解是虛數吧。可以直接在輸出結果後面直接加上i就好了吧,以示區分,在編寫一元二次方程的時候,結果是虛數的定義不是很重要吧。

㈡ c語言虛數乘法

#include<stdio.h>
voidxushu(inta,intb,intc,intd)
{
intnum1,num2;
num1=a*d+b*c;
num2=-(a*c)+b*d;
if(num2>0)
printf("(%di+%d)(%di+%d)=%di+%d",a,b,c,d,num1,num2);
else
printf("(%di+%d)(%di+%d)=%di%d",a,b,c,d,num1,num2);
}
intmain()
{
inta,b,c,d;
printf("inputnumber1: ");
scanf("%di+%d",&a,&b);
printf("inputnumber2: ");
scanf("%di+%d",&c,&d);
xushu(a,b,c,d);
}

㈢ 在c語言里,復數和虛數類型代表著什麼意思該怎麼用

對C語言本身沒什麼意義,C語言沒有內置的向量。但你在處理圖形或其他帶有矢量計算的地方就需要使用復數,比如:做力學的模擬實驗時進行力的合成等等,將某個圖片進行旋轉。

㈣ c語言虛數的四則運算高手幫幫忙!!!!

高手們幫幫忙吧
入門新手實在不會了
用結構體
做一個虛數的四則運算
寫add,
subtract,
multiple,
divide四個函數
(麻煩幫忙寫一下簡單的說明)謝謝謝謝了a1
:
1+3ia2
:
5-3.5ia1
+
a2
=
6.0000
-
0.5000ia1
-
a2
=
-4.0000
+
6.5000ia1
*
a2
=
15.5000
+11.5000ia1
/
a2
=
-0.1477
+
0.4966i

㈤ 我有需要求一個函數的值,但是函數中有一個虛數i,我該怎麼用C語言編寫求函數值的程序

你可以定義一個結構體,結構體成員包括虛數的實部和虛部,虛部。分開來處理,實部簡單,虛部首先考慮系數的處理,然後條件判斷,每次遇到 i*i 就給系數乘以 -1,細節部分還要你自己去考慮。
這道題如果是C++的話可以直接用運算符重載來做!

㈥ 編程語言里虛數如何表示 最好是c語言里 謝謝啊

結構體

㈦ C語言解一元二次方程(包含虛數解)

表示虛數一般不用j表示,而是用i表示。輸出的時候後面帶上i就可以了。

判別式變數d為負時,用sqrt(-d)

形如ax²+bx+c=0的方程的完整程序如下:

#include<stdio.h>
#include<math.h>
voidmain()
{
floata,b,c,dlt;
printf("請輸入a、b、c:");
scanf("%f%f%f",&a,&b,&c);
if(a)
{
dlt=b*b-a*c*4;
if(dlt>0)
printf("x1=%f x2=%f",(-b+sqrt(dlt))/(a*2),(-b-sqrt(dlt))/(a*2));
elseif(dlt<0)
printf("x1=%f+%fi x2=%f-%fi",-b/(a*2),abs(sqrt(-dlt)/(a*2)),-b/(a*2),abs(sqrt(-dlt)/(a*2)));
elseprintf("x=%f",-b/(a*2));
}
else
{
if(b)c?printf("x=%f",-c/b):printf("x=%f",abs(-c/b));
elsec?printf("方程無實數解"):printf("方程的解為任意實數");
}
}

㈧ 在C語言編程中怎麼表示虛數,看了人家的可是不太懂,麻煩會的同學解決一下

看看數據結構,把它抽象出來,用結構體定義復數,然後寫基本操作函數,如加減乘除,比較兩數是否相等

㈨ c語言 虛數的四則運算 高手幫幫忙!!!!

回答的也太快了吧!我剛輸完就有這么多了!
還好我這是純c語言版。
輸入數據是實屬部分和虛數部分用逗號隔開。
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
double real; /*實數部分*/
double vir; /*虛數部分*/
}COMPLEX;

COMPLEX add(COMPLEX a,COMPLEX b);
COMPLEX substract(COMPLEX a,COMPLEX b);
COMPLEX multiple(COMPLEX a,COMPLEX b);
COMPLEX divide(COMPLEX a,COMPLEX b);

void printC(COMPLEX n)
{
if((n.vir - 0.00) < 0)
printf("(%.4lf%.4lfi)",n.real,n.vir);
else
printf("(%.4lf+%.4lfi)",n.real,n.vir);
}
void main()
{
COMPLEX a,b;
char c;
printf("input real and virtual of complex number a:");
scanf("%lf,%lf",&a.real,&a.vir);
fflush(stdin);
printf("input real and virtual of complex number b:");
scanf("%lf,%lf",&b.real,&b.vir);

c = '+';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(add(a,b));
putchar('\n');

c = '-';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(substract(a,b));
putchar('\n');

c = '-';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(multiple(a,b));
putchar('\n');

c = '/';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(divide(a,b));
putchar('\n');

system("pause");
}
COMPLEX add(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real + b.real;
c.vir = a.vir + b.vir;
return c;
}
COMPLEX substract(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real - b.real;
c.vir = a.vir - b.vir;
return c;
}
COMPLEX multiple(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real * b.real - a.vir * b.vir;
c.vir = a.vir * b.real + a.real * b.vir;
return c;
}
COMPLEX divide(COMPLEX a,COMPLEX b)
{
COMPLEX c;
double den = b.real * b.real + b.vir * b.vir;
c.real = (a.real * b.real + a.vir * b.vir) / den;
c.vir = (a.vir * b.real - a.real * b.vir) / den;
return c;
}