C语言中表示的浮点数位超长的问题,整数和小数共有有近30位科学技术法对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 01:28:12

C语言中表示的浮点数位超长的问题,整数和小数共有有近30位科学技术法对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的
C语言中表示的浮点数位超长的问题,整数和小数共有有近30位
科学技术法
对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的科学记数法表示为:2.3E6),或者 9.18×10-5 (科学记树法表示:9.18E-5)这种类型的数据.
输入:
    用科学记数法表示的数据.即为符合C语言表示的科学记数法表示.
输出:
    该数据的双精度表示
说明:
    输入数据的精度不高于小数点后50位.
    输入数据时,在实数和幂之间有空格进行分隔,空格个数不定.
    结果保留到小数点后8位,如不足8位用0补足,超过8位则截断,不进行四舍五入的处理.
其中有一个输入是这样的
2.23456789123456789123456789 e 20
结果为
223456789123456789123.45678900
 
 
这是我的代码
// 科学计数法.cpp :Defines the entry point for the console application.
//
#include "stdafx.h"
#include "string.h"
#include "stdio.h"
#include "math.h"
#define N 100
int main(int argc,char* argv[])
{   int i,k,n,math[N]={0},flag=0;
    char ch[N],t;
 long double j=0,sum=0;
 float sum1[15]={0},sum2[15]={0};
    gets(ch);
 for(i=0;ch[i]!=32;i++)
 {   math[i]=ch[i]-48;
     flag++;}
 sum=math[0];
 for(i=2;i<=flag;i++)
  sum+=math[i]*pow(10,1-i);
 k=ch[strlen(ch)-1]-48;
 if(ch[strlen(ch)-2]=='-') k=-k;
 j=sum*pow(10,k);
 printf("%.8lf\n",j);
     return 0;
}
C语言菜鸟 求如何输出这么长的数 求加注释

C语言中表示的浮点数位超长的问题,整数和小数共有有近30位科学技术法对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的
呵呵,我只给个思路.
这个完全不是数学题,是个字符串的题.
找到输入数据中小数点的位置,和幂的数值,将小数点往后移动幂指定的位数,如果已经移动到输入串的尾部加0补充.
输出当然也只能按字符串格式输出.
计算机没有这么高的精度的!

C语言中表示的浮点数位超长的问题,整数和小数共有有近30位科学技术法对于非常大或者非常小的数据,我们通常用科学记数法来表示.例如在科技文献和电脑中经常遇到的 2.3×106 (计算机中的 在C语言中怎样表示一个既有整数又有浮点数的数组 C语言中 小数和浮点数的区别 C语言中怎样判断输入的是整数还是浮点数 C语言中怎样判断输入的是整数还是浮点数 C语言中什么是正确的浮点数 C语言整数能和浮点数相乘吗 关于整数运算和浮点数的问题为什么一般情况下整数运算比浮点数运算更快? C语言中怎么判断输入的数是整数还是浮点数?请给出一段具有这样判断功能的C语言语句~ C语言中单精度浮点数和双精度分别如何表示?有什么差别? C语言中如何实现大数计算我想用C语言求出2的80次幂,结果用浮点数或整数输出,怎么做. 定点表示法和浮点表示法中小数点是否占据一个二进制数位 c语言中的浮点数表示的十进制数的取值范围如题 单精度的在内存中占四个字节(32二进制数),它能表示7~8位十进制数(包括整数部分和小数部分),取值范围约为+-(10-38~10+38),是怎么得到的 C语言中,对浮点数求绝对值的库函数是什么?就是怎么对一个浮点数求绝对值 C中 如何将浮点数转化成整数,如何判定一个浮点数是否等于其整数部分?C语言中 如何将浮点数转化成整数,如何判定一个浮点数是否等于其整数部分? C语言 浮点数标准C允许浮点数使用后缀.后缀为“f”或“F”即表示该数为浮点数.如356f和356.是等价的.是不是说 1点2 可以写为 1.2 或 1f2 还有浮数点(不是浮点数)又是什么 C语言——100到10000有那几个整数的个位数字之和等于5做出那几个整数没的数位的和等于5 在C语言中可不可以简单的把浮点数看做小数?