當前位置:首頁 » 編程語言 » c語言科學計數

c語言科學計數

發布時間: 2022-06-12 07:52:19

c語言 科學計數法問題

精度不夠

2.23456789123456789123456789 e 20
2.23456789123456770000
223456789123456760000.000000

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

⑵ C語言 科學計數法

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

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

_下劃線可以當成普通字母一樣使用,可放成任意位置,_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<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語言,輸出科學計數法

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

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

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

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

#include<stdio.h>
intmain()
{doublea,b,c,d=600;
scanf("%lf%lf",&a,&b);
printf("a=%lgb=%lg ",a,b);
c=d*a*b*b;
printf("c=%lg ",c);
return0;
}

⑼ 關於在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語言中的科學計數法問題。

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; // 變數也不行。。

熱點內容
sqlwhencasethen 發布:2024-05-05 23:27:51 瀏覽:640
模架編程軟體 發布:2024-05-05 23:26:54 瀏覽:481
存儲過程異常 發布:2024-05-05 23:24:03 瀏覽:397
winxp訪問不了win7 發布:2024-05-05 23:05:23 瀏覽:733
演算法牛 發布:2024-05-05 22:43:40 瀏覽:719
grublinux引導 發布:2024-05-05 22:37:56 瀏覽:215
unix高級編程第三版pdf 發布:2024-05-05 22:32:09 瀏覽:958
手機wap網站源碼 發布:2024-05-05 22:27:44 瀏覽:259
python修改文件某一行 發布:2024-05-05 22:18:22 瀏覽:457
md5加密64 發布:2024-05-05 21:59:30 瀏覽:527