c语言怎么用printf输出结果以指数形式表示?

题目:y=sqrt(fabs(sin(3.1416/4)+5.0/8))+log(x)/x*log10(x)
要求输出结果以指数形式表示。
y是浮点型数吗?

可以使用:%e或者%E输出指数形式。

%e/%E 以指数形式输出单、双精度实数。

例如:

#include<math.h>
#include<stdio.h>
int main()
{
double a=10000,b=43.23435;
printf("%e\n",a);
printf("%E\n",b);
return 0;
}
/*
输出: 
1.000000e+004
4.323435E+001
*/
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-18
用%e格式修饰符输出即可,但前提是要有头文件#include<math.h>。
第2个回答  2014-03-18
为什么不用C++做呢,方便,它有一个特别的库,可以让数据按格式输出追问

我是用dev c++做的啊 但是我们的课程是C语言

追答

C语言包括C和C++吧。

第3个回答  2014-03-18
℅e追问

不行,输出来的y很奇怪

追答

难道你还想和数学一样放右上方?

追问

= =你这是在逗我吗

追答

我只是想知道你是怎么想的如果想和数学一样,不可能的呀

相似回答