c語言中科學計數法
A. 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
B. 關於C語言中的科學計數法問題。
double a = 3.5e2;
double a = 3.5e0;
double a = 3.5e-2;
只能是字面常量,而且必須是整數,正負0均可。。
double a = 3.5e2.1; // 小數不行。。
double a = 3.5e; // 沒有指數也不行。。
int i = 2; double a = 3.5ei; // 變數也不行。。
C. 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>添加進源文件中。
D. C語言中、科學計數法1.23456e+002具體代表什麼意思、或者說怎麼理解這個數
e+002 表示10 的2次方。 科學計數法, 用e 表示10 , 加號表示正整數次方, 減號,表示負整數次方, 這里就是等於 123.456
E. C語言 科學計數法
do {
a1[i++]=getchar();
}while (a1[i]!='.');
這兒的判斷不對,因為此時a1[i]還沒有值。
F. C語言問題,科學計數法
long 表示變數類型 long int, 不是 float, 不是 double,
輸出格式 long int, 要用 %d
double a = 42.321e2;
printf("%lf",a);
就對了。
G. 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]='