求C语言高手帮忙改下程序,关于科学计数法的对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的科学记数法表示为:2.3E6)

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 01:05:03
求C语言高手帮忙改下程序,关于科学计数法的对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的科学记数法表示为:2.3E6)

求C语言高手帮忙改下程序,关于科学计数法的对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的科学记数法表示为:2.3E6)
求C语言高手帮忙改下程序,关于科学计数法的
对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的科学记数法表示为:2.3E6),或者 9.18×10-5 (科学记树法表示:9.18E-5)这种类型的数据.
输入:用科学记数法表示的数据.即为符合C语言表示的科学记数法表示.
输出:该数据的双精度表示
说明:1.输入数据的精度不高于小数点后50位.
2.输入数据时,在实数和幂之间有空格进行分隔,空格个数不定.
3.结果保留到小数点后8位,如不足8位用0补足,超过8位则截断,不进行四舍五入的处理.
友情提示:此题有点难啊!建议大家对问题要进行分析,分解为若干个小步骤,然后各个击破之.现在不要急于完成此题,待积累一定编程经验后再做.
编程思路:1.以字符方式一个一个读取输入数据,将尾数部分存入一个字符串,将指数部分转换为整数保存.尾数部分不要保存为实型数,因为尾数的小数部分可能很大,用实型数保存精度不够.
2.检查尾数字符串中是否有小数点,如果输入的尾数没有小数点,则在字符串中插入小数点.
3.根据给定的指数值移动小数点,可能有以下情况:
(1)指数为正,右移小数点;在移动过程中已到字符串尾,则需要补0.
(2)指数为负,左移小数点;在移动过程中已到字符串首,则要将字符串整体右移一位,在字符串首补0.
4.找到现在小数点的位置,再向后数8个字符,如果后面数字字符的个数不够8个则补0,小数点后8个数字字符的后面是字符串结束标志.
5.输出字符串.
我自己做了两个,但都不完全对
第一个
#include
double fun(int n);
int main()
{char a;double x,t;int i,n;
scanf("%lf",&x);
getchar();
a=getchar();
scanf("%d",&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

求C语言高手帮忙改下程序,关于科学计数法的对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的科学记数法表示为:2.3E6)
第一个问题,你自定义函数的方法非常混乱,下面是我改的希望你仔细看看哪些地方动了位置,你的算法没错.
#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语言高手帮忙改下程序,关于科学计数法的对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的科学记数法表示为:2.3E6) 求1-100的阶乘输入一个数,如果为1-100,输出阶乘(超过8位用科学计数法四舍五入保留8位有效数字),否则退出程序,C语言该怎么计算?或者帮我改好下面的程序.下面的程序有误.改得完全正确的再加 求救C语言高手,用以下四个公式分别写出求pi的程序公式 请问下有谁知道在Word里怎么使用科学计数法 高手都看看吧, 求设计c语言程序 C语言程序:倒序打印26个英文字母(程序改错)请帮忙改改错,让此程序能够实现题目要求 求高手帮我解决下面的问题C语言编的程序这是编译时提示的错误程序有点小长,不能粘贴过来,可以帮忙的,我给你发过去 求求你们了.关于 科学计数法 一道关于科学计数法的填空 求高手帮忙解释下这个sort函数,看不懂/*-----------------------------------------------程序L11_4.C功能:将多个字符串按字母顺序输出.--------------------------------------------*/#include #include void sort(char *str[] ,in 0.00001 0.000000567 求科学计数法 请高手帮忙设计一下这个c语言程序,用多种方式!求[1,999]之间能被3整除,且至少有一位数字是5的所有正整数的个数.(91) 求判断素数的C语言程序 求c语言矩阵乘法程序 求双线性插值法的C语言程序! C语言求平方根的程序 求FFT的c语言程序 在C语言程序中如何定义函数e^(-1/t)/t^2啊?求大哥帮忙.用梯形法求积分的.对了,你会用辛普森法求积分吗