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]='