当前位置:首页 » 编程语言 » 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; // 变量也不行。。

热点内容
云隙服务器下载 发布:2024-05-19 04:33:22 浏览:312
德国C语言 发布:2024-05-19 04:13:40 浏览:959
音频管理器没有文件夹 发布:2024-05-19 04:13:36 浏览:666
qq邮箱端口993服务器怎么填 发布:2024-05-19 04:07:05 浏览:202
javaapi框架 发布:2024-05-19 04:06:59 浏览:359
与存储结构无关的术语 发布:2024-05-19 04:05:41 浏览:499
编译路由器固件选择 发布:2024-05-19 03:56:28 浏览:39
手机f加密 发布:2024-05-19 03:28:47 浏览:225
用什么密码写日记 发布:2024-05-19 03:27:57 浏览:303
数据库access2003 发布:2024-05-19 02:49:39 浏览:620