当前位置:首页 » 法规百科 » c语言科学计数法规则

c语言科学计数法规则

发布时间: 2021-01-16 17:35:25

⑴ C语言问题,科学计数法

long 表示变量类型 long int, 不是 float, 不是 double,
输出格式 long int, 要用版 %d

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

⑵ C语言 科学计数法问题

精度不够

2.23456789123456789123456789 e 20
2.23456789123456770000
223456789123456760000.000000

第二来个数是a输入后的打印自结果,double支持不了这么多精度。不要输入精度这么高的就没有问题。

⑶ c语言程序设计,科学计数法的问题

1)float接受十进制数字作为赋值时精度只有6位有效数字,即:
float f = 0.339062543;
std::cout<<f<<std::endl;
则输出是0.339063

2)double接受十进制版数字作为赋值时精度有权15位有效数字,如果想在输出时改变输出精度,可以有很多办法,例如使用setprecision():
double d = 0.339062543787323;
std::cout<<std::setprecision(15)<<d<<std::endl;
setprecision()在<iomanip>

⑷ c语言从键盘上输入一个科学计数法的数

在内部只要使用高斯消元法即可解出这个二元一次方程组
重点在于如何给i和d赋值对吧
使用scanf函数在标记变量的时候使用%e就可以一指数形式输入数据了
scanf("i=%e d=%e",&i,&d);

⑸ 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语言 科学计数法输出问题

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语言中的科学计数法问题。

对,只能是常量表达式。 为了机子的运行着想,如果变量可以的话,那就危险了。容易造成系统奔溃

⑻ C语言中、科学计数法1.23456e+002具体代表什么意思、或者说怎么理解这个数

e+002 表示10 的2次方。 科学计数法, 用e 表示10 , 加号表示正整数次方, 减号,表示负整数次方, 这里就是等于 123.456

⑼ c语言科学计数法溢出

在C语言中,如果要进行特大数的运算可以使用数组实现。如(一定部分用伪码实现,可自己补充完整):#include<stdio.h>int main( ){ char a[1000] , b[1000] ; int aa[1000] , bb[1000] , cc[1010] ; int i = 0 , j = 0 , temp = 0 ; gets( a ); get( b ) ; int along = strlen( a ) , blong = strlen( b ) , max ; for ( i = 0 ; i < strlen( a ) ; i++ ) aa[--along] = (int)( a[i] - 48 ) ; //倒序,为了高位进位运算方便 for ( i = 0 ; i < strlen(b ) ; i++ ) bb[--blong] = (int)( b[i] - 48 ); // 下面以加法为例 max = ( strlen( aa ) > strlen ( bb ) ? strlen( aa ) : strlen( bb ) ; if( max == strlen( aa ) ) //未足高位补0 for( i = strlen( bb ) - 1 ; i < max ; i ++ ) b[i] = 0 ; for( j = 0 ; j < max ; j++ ) { cc[j] = ( a[j] + b[j] +temp ) % 10 ; temp = ( a[j] + b[j] +temp ) / 10 ; } for( j = strlen( cc ) - 1 ; j >= 0 ; j++ ) printf( "%d" , cc[j] ) ; return 0 ;} 唉……,时间太早了,我得睡了,程序还没运行的,不过算法是没问题的,你自己再高度一下,晚安

⑽ 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

热点内容
微信骰子玩法规则 发布:2025-06-21 13:48:54 浏览:941
古代刑法借鉴 发布:2025-06-21 13:48:41 浏览:725
赵秒国道德经 发布:2025-06-21 13:44:49 浏览:349
山西省法律援助条 发布:2025-06-21 13:31:46 浏览:676
公司法指导 发布:2025-06-21 13:30:56 浏览:635
汕头大学法律硕士难考 发布:2025-06-21 13:22:01 浏览:790
公司法与高管 发布:2025-06-21 13:18:15 浏览:97
沈阳和平法院电话 发布:2025-06-21 13:14:37 浏览:621
法官会见当事人 发布:2025-06-21 13:01:26 浏览:189
信访条例修订 发布:2025-06-21 13:01:24 浏览:700