當前位置:首頁 » 法規百科 » c語言科學計數法規則

c語言科學計數法規則

發布時間: 2021-01-16 17:35:25

⑴ C語言問題,科學計數法

long 表示變數類型 long int, 不是 float, 不是 double,
輸出格式 long int, 要用版 %d

double a = 42.321e2;
printf("%lf",a);
就對了。權

⑵ C語言 科學計數法問題

精度不夠

2.23456789123456789123456789 e 20
2.23456789123456770000
223456789123456760000.000000

第二來個數是a輸入後的列印自結果,double支持不了這么多精度。不要輸入精度這么高的就沒有問題。

⑶ c語言程序設計,科學計數法的問題

1)float接受十進制數字作為賦值時精度只有6位有效數字,即:
float f = 0.339062543;
std::cout<<f<<std::endl;
則輸出是0.339063

2)double接受十進製版數字作為賦值時精度有權15位有效數字,如果想在輸出時改變輸出精度,可以有很多辦法,例如使用setprecision():
double d = 0.339062543787323;
std::cout<<std::setprecision(15)<<d<<std::endl;
setprecision()在<iomanip>

⑷ c語言從鍵盤上輸入一個科學計數法的數

在內部只要使用高斯消元法即可解出這個二元一次方程組
重點在於如何給i和d賦值對吧
使用scanf函數在標記變數的時候使用%e就可以一指數形式輸入數據了
scanf("i=%e d=%e",&i,&d);

⑸ 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語言 科學計數法輸出問題

1、1e-10是C/C++規定的浮點數的科學計數寫法,意思是1.0x10的-10次方。這個記數法有一些要求,一是回e前面整數部分為答1位的浮點數,如1.0、3.3、9.999978901等(但不按這個規則寫,如123.4E-3編譯器也認可);二時e可以大寫也可以小寫;三是e後面緊跟帶符號的十
進制整數,長度最大為3位,正數時可不寫+號。所以,1.234E-2、1.234e-02、1.234E-002等其實是一個意思。

2、C語言中數e(指數e)可以用exp( )函數表示。
函數原型:double exp(double x);
功 能:計算e^x的值
返 回 值:計算結果
舉例:
double x=1.5, y;
y = exp(x); // y的值就是e^1.5
註:使用exp函數時,需要將頭文件#include<math.h>添加進源文件中。

⑺ 關於C語言中的科學計數法問題。

對,只能是常量表達式。 為了機子的運行著想,如果變數可以的話,那就危險了。容易造成系統奔潰

⑻ C語言中、科學計數法1.23456e+002具體代表什麼意思、或者說怎麼理解這個數

e+002 表示10 的2次方。 科學計數法, 用e 表示10 , 加號表示正整數次方, 減號,表示負整數次方, 這里就是等於 123.456

⑼ c語言科學計數法溢出

在C語言中,如果要進行特大數的運算可以使用數組實現。如(一定部分用偽碼實現,可自己補充完整):#include<stdio.h>int main( ){ char a[1000] , b[1000] ; int aa[1000] , bb[1000] , cc[1010] ; int i = 0 , j = 0 , temp = 0 ; gets( a ); get( b ) ; int along = strlen( a ) , blong = strlen( b ) , max ; for ( i = 0 ; i < strlen( a ) ; i++ ) aa[--along] = (int)( a[i] - 48 ) ; //倒序,為了高位進位運算方便 for ( i = 0 ; i < strlen(b ) ; i++ ) bb[--blong] = (int)( b[i] - 48 ); // 下面以加法為例 max = ( strlen( aa ) > strlen ( bb ) ? strlen( aa ) : strlen( bb ) ; if( max == strlen( aa ) ) //未足高位補0 for( i = strlen( bb ) - 1 ; i < max ; i ++ ) b[i] = 0 ; for( j = 0 ; j < max ; j++ ) { cc[j] = ( a[j] + b[j] +temp ) % 10 ; temp = ( a[j] + b[j] +temp ) / 10 ; } for( j = strlen( cc ) - 1 ; j >= 0 ; j++ ) printf( "%d" , cc[j] ) ; return 0 ;} 唉……,時間太早了,我得睡了,程序還沒運行的,不過演算法是沒問題的,你自己再高度一下,晚安

⑽ 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

熱點內容
2018山西法律碩士現場確認 發布:2025-06-21 18:04:08 瀏覽:928
米易律師事務所 發布:2025-06-21 17:58:57 瀏覽:164
政法幹警民法題型 發布:2025-06-21 17:46:07 瀏覽:989
普通過失注冊會計師承擔法律責任 發布:2025-06-21 17:45:58 瀏覽:153
婚姻法司法解一29 發布:2025-06-21 17:40:34 瀏覽:470
行政法規的後綴 發布:2025-06-21 17:37:52 瀏覽:861
商品房網簽的法律效力 發布:2025-06-21 16:24:44 瀏覽:270
律師工作年限 發布:2025-06-21 16:21:19 瀏覽:401
重慶房屋登記條例 發布:2025-06-21 16:07:10 瀏覽:877
合同法司法解釋大全 發布:2025-06-21 15:45:00 瀏覽:420