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

c語言科學計數法格式

發布時間: 2022-12-28 00:27:21

『壹』 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語言,輸出科學計數法

#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語言 科學計數法

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

『肆』 科學計數法 c語言

#include<stdio.h>
double fun(int n);
int main()
{
char a;
double x,t;
int i,n;

printf("請輸入數字:\n");
scanf("%lf",&x);

getchar();
a=getchar();
scanf("%d",&n);
if(a!='e'&&a!='E')
printf("操作有誤,請重試:\n");
t=x*fun(n);
printf("%.8lf\n",t);
}
double fun(int n)
{
if(n==0) return 1.0;
if(n>0) return 10.0*fun(n-1);
if(n<0) return 0.1*fun(n+1);\\這里換成+1就好了。呵呵,應該沒問題了
}

『伍』 c語言編程中%g是什麼格式

%g用來輸出實數,它根據數值的大小,自動選f格式(一般小數格式)或e格式(科學計數法)。選擇標准為選擇輸出時占寬度較小的一種。且%g不輸出無意義的0。
即%g是根據結果自動選擇科學記數法還是一般的小數記數法。
比如如下代碼:
printf("%g\n", 0.00001234);
printf("%g\n", 0.0001234);

printf("%.2g\n", 123.45);
printf("%.2g\n", 23.45);

分別會輸出:
1.234e-05
0.0001234
1.2e+02
23
對於指數小於-4或者大於給定精度的數值,按照%e的控制輸出,否則按照%f的控制輸出.

『陸』 C語言科學記數法

double a = 1.2e5
char buf[100]
sprintf(buf, "%e", a);/*先sprintf %e 輸出到字元數組,然後再去對字元數組里的字元串做適當的調整*/
.......剩下的代碼就是看你字元串 處理 功力了

『柒』 c語言輸出時%d,%c這些都分別代表什麼

C語言輸出時的%d和%c等都是格式化字元串的約定,%d表示整型格式, %c表示字元型格式。
常用輸出格式類型:
%hd,十進制有符號短整型

%d,十進制有符號整型

%ld,十進制有符號長整型

%hu,十進制無符號短整型

%u,十進制無符號整型

%lu,十進制無符號長整型

%c,字元型

%s,字元串型

%f,十進制浮點型

%lf,十進制雙精度浮點型

%e,科學計數法格式

%x,十六進制

%o,八進制

%p,十六進制形式指針

%%,輸出'%'字元

『捌』 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();

}