當前位置:首頁 » 編程語言 » c語言將數字轉化為科學記數法
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言將數字轉化為科學記數法

發布時間: 2022-04-16 14:35:08

⑴ 科學計數法用c語言如何編寫

double PI = 3.141592653589793;
printf("%e",PI);

⑵ 關於在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語言:
#include<stdio.h>
intmain(void)
{
inta;
scanf("%d",&a);
printf("8進制:%o 10進制:%d 16進制:%x 科學記數法:%e",a,a,a,a);
return0;
}
//C++:
#include<iostream>
usingnamespacestd;
intmain()
{
inta;
cin>>a;
cout<<endl;
cout<<"8進制:"<<oct<<a<<endl;
cout<<"10進制:"<<dec<<a<<endl;
cout<<"16進制:"<<hex<<a<<endl;
return0;
}

⑷ 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語言里數比較大時會自動轉成科學計數法嗎

試試以科學計數法的形式輸出 用 %e。樓上的long不行,輸出的是整數,不帶小數點的

⑺ 求C語言高手幫忙改下程序,關於科學計數法的

第一個問題,你自定義函數的方法非常混亂,下面是我改的希望你仔細看看哪些地方動了位置,你的演算法沒錯。

#include "stdio.h"
#include "conio.h"

float sub(float n);

void main()
{
float n,m;
scanf ("%f",&n);
m = sub(n);
printf ("sum=%f\n",m);
getch();
}

float sub(float n)
{
float i,s;
s=0;
for (i=1;i<=n;i++)
{
s=s+1/i;
}
return (s);
}

至於你說的第二個問題。。。想不出辦法來。。
你都弄到100的10次方的數量級了。。。大概只有求助於
高級的數據類型了。
不過有個想法,首先這個數量級的數肯定是科學計數法表示的。
他前面的因數你看看能不能在設定浮點數精度的基礎上,對它
操作下,也許能得到你的答案。

比如 1.73212352132131231 e17 這個數,你想辦法對
1.73212352132131231和17進行下操作。

⑻ 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語言中的科學計數法。。一道題

_下劃線可以當成普通字母一樣使用,可放成任意位置,_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語言的編程中實型常量中的科學計數法不懂,求賜教,變成數學是什麼

給你舉幾個例子:
920000 對應的 科學計數法為 9.2E+5

E+5代表的是10的5次方(+號也可以省略)
0.092 對應的 科學計數法為 9.2E-2(-號不能省略)
E-2代表的是10的-2次方
這樣你能理解嗎?