当前位置:首页 » 编程语言 » 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次方
这样你能理解吗?