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

c語言fdiv與divide

發布時間: 2022-05-17 02:46:06

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;
}

Ⅱ 關於C語言的divide error

被零除了。相等判斷運算符搞錯 將 if(n=0)printf("ERROR"); 改一下。
if(n==0)printf("ERROR");

Ⅲ 用C語言函數知識函數1.2個數加法2.2個數減法 3.2個數乘法4。2個數除法 5一個main函數。別用太高級的。謝謝

#include <float.h>
#include <stdio.h>
double fadd(double a, double b)
{
return a+b;

}

double fsub(double a, double b)
{
return a-b;
}

double fmul(double a, double b)
{
reuturn a*b;

}

double fdiv(double a, double b)
{
if(fabs(b) < DBL_MIN_EXP)
return DBL_MAX;

return a/b;

}

int main(int argc, char *argv[])
{
double a=5.0;

double b=6.0;
printf("%f + %f = %f.\n", a, b, fadd(a, b));

printf("%f + %f = %f.\n", a, b, fsub(a, b));

printf("%f + %f = %f.\n", a, b, fmul(a, b));

printf("%f + %f = %f.\n", a, b, fdiv(a, b));

return 0;
}

Ⅳ 在C語言中Divide error是什麼意思

在C語言中的除法運算中,如果除數為0,就會出現Divide error。取模(%)運算中的除數和被除數不全為整型時也會出現錯誤。

你可以仔細檢查一下源程序,看是否是以上的問題。

Ⅳ c語言編程不用+、-、*、/編寫四個函數,分別求和,差,積,商

#include<iostream>
#include<math.h>
using namespace std;
int add(int object1,int object2)
{
if(object2>0)
for(int i=0;i<object2;i++) object1++;
else
for(int i=0;i<abs(object2);i++) object1--;
return object1;
}

int del(int object1,int object2)
{
if(object2>0)
for(int i=0;i<object2;i++) object1--;
else
for(int i=0;i<abs(object2);i++) object1++;
return object1;
}

int multiply(int object1,int object2)
{
int temp=abs(object1);
int flag=0;
if(object1<0&&object2>0 ||object1>0&&object2<0) flag=1;
for(int i=0;i<abs(object2)-1;i++)
object1=add(abs(object1),temp);
if(flag==1) return del(object1,multiply(object1,2));
return object1;
}

int divide(int object1,int object2)
{
int temp=abs(object2);
int count=0;
int flag=0;
if(abs(object1)<abs(object2)) return 0;
if(object1<0&&object2>0 ||object1>0&&object2<0) flag=1;
do{
count++;
object2=add(abs(object2),temp);
}while(abs(object2)<=abs(object1));
if(flag==1) return del(count,multiply(count,2));
return count;
}

int main()
{
int object1,object2;
cout<<"請輸入操作數一:";
cin>>object1;
cout<<"請輸入操作數二:";
cin>>object2;
cout<<"("<<object1<<")+("<<object2<<")="<<add(object1,object2)<<endl;
cout<<"("<<object1<<")-("<<object2<<")="<<del(object1,object2)<<endl;
cout<<"("<<object1<<")*("<<object2<<")="<<multiply(object1,object2)<<endl;
cout<<"("<<object1<<")/("<<object2<<")="<<divide(object1,object2)<<endl;
}

覺得C++這樣寫很復雜呀,你自己看著再改改吧`

Ⅵ C語言 編寫函數int divide(char *ss,int a[])從左到右依次掃描字元串ss,將串中出現的數字串轉換為整數

#include<stdio.h>

#include<string.h>

int divide(char *ss,int *a)

{

int i,k=0,sum;

for(i=0;i<strlen(ss);i++)

{

sum=0;

for(;ss[i]<'0'||ss[i]>'9';i++);

for(;ss[i]>='0'&&ss[i]<='9';i++)

sum=10*sum+ss[i]-'0';

a[k++]=sum;

}

return k;

}

int main()

{char ss[200];

int a[50],n,i;

gets(ss);

n=divide(ss,a);

for(i=0;i<n;i++)

printf("%d ",a[i]);

return 0;

}

Ⅶ 大學C語言函數的問題

首先說語法錯誤:
int isprime(a)改為int isprime(int a)
n=sqrt(a);改為 n=(int)sqrt(a);
sqrt函數的參數和返回值都是double類型,從double到int的轉化需要強制轉化

這樣改後編譯能通過,但是判斷素數的邏輯有問題
if(j==i-2),這不是素數的條件啊。
給你個判斷素數的參考函數吧,簡單明了
int isprime(int n)
{
int i;
for(i=2;i<=sqrt((double)n);i++)
if(n%i==0)
return 0;
return 1;
}

Ⅷ c語言實現MPI並行計算程序。要求使用partitioning and divide and conquer思想

http://wenku..com/link?url=gAn5gITm-_haS-Hx4kMJ16TidLl8cr2GXxMvKJ_xMSQ7d2dUhI9Lp39ha

Ⅸ c語言divide error的意思。

頭文件包含寫漏了,w請定義為float或者使用強制類型轉換。按你的思路s應該初始話為0.

Ⅹ C語言——高手幫我。程序的目的是為了輸入一個txt格式的二維數組(矩陣),但是結果顯示divide by 0

#include<stdio.h>
main()
{int i,j,num;
float NUM;

float m,n,p,q; /*m=a,n=c,p=g,q=t*/
float b,e; /*b=g-c,e=a-t*/
float aa,ag,ac,at;
float ga,gg,gc,gt;
float ca,cg,cc,ct;
float ta,tg,tc,tt;
float A,C,G,T;
float AA,AG,AC,AT; /*AA=aa%*/
float GA,GG,GC,GT;
float CA,CG,CC,CT;
float TA,TG,TC,TT;
char string1[80]="tcttcactc";

/*一些序列*/
char string6[80]="attgtacgtcgatcg";

char string9[80]="attgtacgtcgatcg";
char string[9][80]={"string1","string2","string","string4","string5","string6","string7","string8","string9"};

FILE*fp;
fp=fopen("69.txt","w");/*這個不是很熟練不知用錯了沒有*/
for (j=1;j<9;j++)

{
while(string[j][i]!='\0') /*to count the total*/
{ num++;
i++;
}

for(i=0;i<num;i++)
{
switch(string[j][i])
{
case 'a':m++;break;
case 'g':n++;break;
case 'c':p++;break;
case 't':q++;break;
default:break;
}
}
A=m/num;G=n/num;C=p/num;T=q/num;
b=100*(G-C)/(G+C);e=100*(A-T)/(A+T);
printf("A=%f,G=%f,C=%f,b=%f,\n,e=%f,T=%f",A,G,C,T,b,e);
for(i=0;i<num-1;i++)
{ /*to count aa ag ac at*/
switch(string[j][i])
{
case 'a':switch(string[j][i+1])
{
case 'a':aa++; break;
case 'g':ag++; break;
case 'c':ac++; break;
case 't':at++; break;
}

case 'g':switch(string[j][i+1])
{
case 'a':ga++; break;
case 'g':gg++; break;
case 'c':gc++; break;
case 't':gt++; break;
}

case 'c': switch(string[j][i+1])
{
case 'a':ca++; break;
case 'g':cg++; break;
case 'c':cc++; break;
case 't':ct++; break;
}

case 't': switch(string[j][i+1])
{
case 'a':ta++; break;
case 'g':tg++; break;
case 'c':tc++; break;
case 't':tt++; break;
}

}

}
NUM=aa+ag+ac+at+ga+gg+gc+gt+ca+cg+cc+ct+ta+tg+tc+tt;
AA=aa/NUM;AG=ag/NUM;AC=ac/NUM;AT=at/NUM;
GA=ga/NUM;GG=gg/NUM;GC=gc/NUM;GT=gt/NUM;
CA=ca/NUM;CG=cg/NUM;CC=cc/NUM;CT=ct/NUM;
TA=ta/NUM;TG=tg/NUM;TC=tc/NUM;TT=tt/NUM;
printf("AA=%f,AG=%f,AC=%f,AT=%f\n",AA,AG,AC,AT);
printf("GA=%f,GG=%f,GC=%f,GT=%f\n",GA,GG,GC,GT);
printf("CA=%f,CG=%f,CC=%f,CT=%f\n",CA,CG,CC,CT);
printf("TA=%f,TG=%f,TC=%f,TT=%f\n",TA,TG,TC,TT);

}
}