當前位置:首頁 » 課題答辯 » c科學計算

c科學計算

發布時間: 2021-03-19 11:24:54

㈠ c語言中的科學計數法。。一道題

_下劃線可以當成普通字母一樣使用,可放成任意位置,_a跟a_一樣,是變數名;
e是科計數法,如23e5,表示23*10^5,1e-1表示1*10^-1=0.1;
浮點數省略表示法:.5代表0.5,1.代表1.0
所以上面的表達式是錯誤的。如果改成
_a=-1.e-1就對了,此時_a=-0.1

㈡ c語言編程 科學計數法

|

#include<conio.h>

#include<math.h>

#include<stdlib.h>

main(){

inti,j=0,k=1;

doubleqian,wan;

inthou;

char*q,*h,*p,chao1,chao2;

printf("pleaseInput:");

scanf("%s",p);

for(i=0;*(p+i)!='';i++){

if(*(p+i)=='E'||*(p+i)=='e'){

k=2;

continue;

}

if(k==1){

*(q+i)=*(p+i);

}else{

*(h+j)=*(p+i);j++;

}

}

for(i=0,j=0;*(p+i)!='';i++){

if(*(p+i)=='.'){k=1;continue;}

if(k==1)j++;

if(j==7)chao1=*(p+i);

if(j==8){chao2=*(p+i);break;}

}

qian=atof(q);

hou=atoi(h);

wan=qian*pow(10,hou);

if(j==7)printf("resultsis%lf%c0",wan,chao1);

elseif(j==8)printf("resultsis%lf%c%c",wan,chao1,chao2);

elseprintf("resultsis%lf00",wan);

getch();

}

㈢ 為什麼c語言不擅長科學計算

C語言數字類型 最大貌似是double 佔8個位元組 我曾經用過 大概能精確到小數點後6位

㈣ c語言,輸出科學計數法

#include<stdio.h>
#include<string.h>

charnum[110];
charresult[110];
intlen;

intmain()
{
inti,j;
ints1,s2;//小數點位置,字元串首個非零數位置
intfind1=0;
intfind2=0;//find1:是否找到小數點位置標志位,find2:是否找到首個非零數位置,0:表示未找到
intindex;

scanf("%s",num);
len=strlen(num);//讀取字元串長度

for(i=0;i<len;++i)//尋找原字元串中小數點與首個非零數的位置
{
if(find1&&find2)
break;

if(num[i]=='.'){
s1=i;
find1=1;
}
elseif(num[i]!='0'&&!find2){
find2=1;
s2=i;
}
}

if(s1-s2>0)//根據二個位置確定指數大小
index=s1-s2-1;
elseif(s2>s1)
index=s1-s2;

j=0;
for(i=s2;i<len;++i)//確定底數
{
if(num[i]=='.')
continue;
elseif(i==s2){//確定底數小數點位置

if(num[i+1]){
result[j++]=num[i];
result[j++]='.';
}
else
result[j++]=num[i];
}
else
result[j++]=num[i];
}
result[j]='';

printf("%se%d ",result,index);
return0;
}

㈤ C語言里要對輸出的結果用科學計數法表示保留三位有效數字應該怎麼寫啊

sorry.由於沒有在計算機旁,沒有及時看到你的求助,你問:C語言里要對輸出的結果用科學計數法表示保留三位有效數字應該怎麼寫?
我覺得應該是
printf("%.3e",變數名);
而不是
printf("%3e",變數名);
==================
MSDN 中有關printf列印格式串:
%[flags] [width] [.precision] [{h | l | I64 | L}]type
的描述,其中對[.precision]是這么說的:
The third optional field of the format specification is the precision specification.
(大義:格式規約中第三個選項段是關於小數的規則。)
==================
對於列印e, E類型的數據時,[.precision]選項的作用是:
The precision specifies the number of digits to be printed after the decimal point. The last printed digit is rounded.
(大義:該精度指定了列印小數點後的位數,之後的位數會被四捨五入)
Default precision is 6; if precision is 0 or the period (.) appears without a number following it, no decimal point is printed.
(大義:預設情況下,該精度為6,如果精度值為0或者小數點後沒有緊跟著數字,則不會列印小數部分)
==================
例:
#include <stdio.h>
int main()
{
float b = 100000.55555f;
printf("%3e\n",b);
printf("%.3e\n",b);
return 0;
}
輸出結果為:
1.000006e+005
1.000e+005

㈥ c語言編程 科學計數法 在線等!

#define N 100
#include"stdlib.h"
#include"stdio.h"
#include"math.h"
void main()
{
char a[N],b[N];
int i,t,f2,p,q=0;
float f1=0.0;
double result;
int temkp=0;
gets(a);
for(i=0;i<N;i++)
if(a[i]=='e'||a[i]=='E') t=i;

//提取基數
for(i=0;i<t;i++) b[i]=a[i];
b[i]='\0';
f1=atof(b);

//提取階數 e 後面的數值
for(i=t+1;a[i];i++) b[q++]=a[i];
b[q]='\0';
f2=atoi(b);

result=f1*pow(10,f2);
printf("%.15lf\n",result);
}

㈦ C語言 科學計數法

do {
a1[i++]=getchar();
}while (a1[i]!='.');
這兒的判斷不對,因為此時a1[i]還沒有值。

㈧ C語言簡易科學計算器加減乘除括弧

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
inti,j,h,g,num[20]={0},z,m,n,s;//num[20]可以這樣初始化
charch[80],r,sign[20];

gets(ch);//字元串輸入

for(i=0;i<strlen(ch);i++)
{
s=0;
switch(ch[i])
{
case'+':sign[s]='+';s++;break;//缺少break;
case'-':sign[s]='-';s++;break;
case'*':sign[s]='*';s++;break;
case'/':sign[s]='/';s++;break;
case'(':sign[s]='(';s++;break;
case')':sign[s]=')';s++;break;

}
}/*讀入符號*/

do{
m=0;
num[m]=atoi(ch);
n=sizeof(num[0]);
for(i=n+2;i<=(z-n-2);i++)
{
ch[i-n-2]=ch[i];
}
m++;
}while(ch[0]==' ');/*進行數字的讀入轉換*/

/////發現下面好多死循環,怎麼可能會有結果呢////////////////
for(i=0;;i++)/*開始進行計算*/
{
if(sign[i]=='(')
{
for(j=i+1;j<=z;j++)
{
if(sign[j]==')')
{
for(h=i+1;h<=j;h++)
{
if(sign[h]=='*')
{
num[h-1]=num[h-1]*num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='/')
{
num[h-1]=num[h-1]/num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
}
for(h=i+1;;h++)
{
if(sign[h]=='+')
{
num[h-1]=num[h-1]+num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='-')
{
num[h-1]=num[h-1]-num[h];
for(g=h;;g++)//死循環
{
num[g]=num[g+1];
}
}
}
}
}
}
for(h=i+1;h<=j;h++)
{
if(sign[h]=='*')
{
num[h-1]=num[h-1]*num[h];
for(g=h;;g++)//死循環
{
num[g]=num[g+1];
}
}
if(sign[h]=='/')
{
num[h-1]=num[h-1]/num[h];
for(g=h;;g++)//死循環
{
num[g]=num[g+1];
}
}
}
for(h=i+1;;h++)//死循環
{
if(sign[h]=='+')
{
num[h-1]=num[h-1]+num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
if(sign[h]=='-')
{
num[h-1]=num[h-1]-num[h];
for(g=h;;g++)
{
num[g]=num[g+1];
}
}
}
}
printf("%d ",num[0]);
r=getchar();
return0;
}

㈨ 如何用c語言進行科學計算,如同fortran那樣

C語言的計算能力不遜於Fortran的,只要你認真學。

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731