现在的位置: 主页 > 公司荣誉 > 文章正文
算法题:科学计数法
作者:吴桥县齐源纤维素有限公司 来源:www.qy-xws.com 发布时间:2017-09-13 13:30:35
算法题:科学计数法

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]”.”[0-9]+E[+-][0-9]+,即数字的整数部分

只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。

现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。

输入描述:

每个输入包含1个测试用例,即一个以科学计数法表示的实数A。该数字的存储长度不超过9999字节,且其指数的绝对值不超过9999。

输出描述:

对每个测试用例,在一行中按普通数字表示法输出A,并保证所有有效位都被保留,包括末尾的0。

输入例子:
+1.23400E-03

输出例子:
0.00123400

#include #include using namespace std; int GetNum(char *str) { char *p = str; int count = 0; while (*p == '0')p++; while (*p != NULL) { count = count * 10 + *p - '0'; p++; } return count; } void SetStr(char *&str, int n) { string s; char *s1 = strtok(str, .); int len1 = 0; if (s1[0] == '+' || s1[0] == '-') { if (s1[0] == '-') { s += '-'; s1++; } if (s1[0] == '+')s1++; len1 = strlen(s1); } else len1 = strlen(s1); if (n < len1) { int i = len1 - n; while (i--) { s += *s1; s1++; } s += '.'; s += s1; } else { s += 0.; int i = n - len1; while (i--) { s += '0'; } s += s1; } s1 = strtok(NULL, ); if (s1!=NULL) s += s1; cout << s.c_str() << endl; } void SetTtr(char *str,int n) { string s; if (str[0] == '+' || str[0] == '-') { if (str[0] == '-') { s += '-'; } str++; } char *s1 = strtok(str,.); if (strlen(s1) == n) { s += s1; while (n--) { s += '0'; } } else { s += s1; s1 = strtok(NULL,); while (*s1!='' && n--) { s += *s1; s1++; } if (*s1 == '') { while (n--) { s += '0'; } } else { s += '.'; s += s1; } } cout << s.c_str() << endl; } int main() { char inputStr[10000]; cin >> inputStr; char *s1 = strtok(inputStr,E); char *saveStr1 = new char[strlen(s1)+1]; strcpy(saveStr1,s1); s1 = strtok(NULL, ); char *saveStr2 = new char[strlen(s1) + 1]; strcpy(saveStr2,s1); char ch = saveStr2[0]; int N; char *p = NULL; switch (ch) { case '+': p = saveStr2; N = GetNum(++p); SetTtr(saveStr1, N); break; case '-': p = saveStr2; N = GetNum(++p); SetStr(saveStr1,N); break; default:break; } return 0; }

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:荆州SEO http://jingzhou.raoyu.net


  • 上一篇:asp.net中c# byte[] 转换为 IntPtr几种方法
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 吴桥县齐源纤维素有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100