北航上机复试13真题
来源:互联网 发布:口红保质期 知乎 编辑:程序博客网 时间:2024/04/29 14:42
给出一个标准输入的正数(开头末尾没有多余的0),输出其科学计数法表示结果。比如:输入0.000002,输出2e-6;输入123.456,输出1.23456e2;输入123456,输出1.23456e2
解题:
首先将其放入到Char数组中,找到loc即为小数点所在位数,和first 即为第一位非零数的位置。然后分两种情况输出,大于1和小于1的两种情况;大于一是10的指数是loc - first-1;
小于一的10的指数是loc - first; 注意要判断一下是否要输出“.”,因为当first == 总长-1 不用输出“.”
#include <cstdio>#include <string.h>#define maxn 105int main(){ char s[maxn] ; while ( scanf("%s",s) ) { int loc = 0 ; for ( int i = 0 ; i < strlen(s) ; i ++ ) { if( s[i] == '.') { loc = i; break; } } int first = 0; for ( int i = 0 ; i < strlen(s) ; i++) { if(s[i] != '0'&&s[i] !='.') { first = i ; break; } } if ( loc > first ){ printf("%c",s[first]); if(first != strlen(s)- 1) printf("."); for( int i = first + 1 ; i < loc ; i ++ ) printf("%c",s[i]); for ( int i = loc + 1 ; i < strlen(s) ; i ++ ) printf("%c",s[i]); printf("e%d\n",loc - first - 1); } else { printf("%c",s[first]); if(first != strlen(s)- 1) printf("."); for ( int i = first + 1; i < strlen(s) ; i++ ) printf("%c",s[i]); printf("e%d\n",loc - first); } } return 0 ;}
0 0
- 北航上机复试13真题
- 北航复试上机14真题
- 北航复试上机14真题
- 2011年北航计算机复试上机题
- 北航计算机复试上机题(2008)
- 北航计算机复试上机题(2009)
- 北航复试上机14年真题
- 北航12年上机复试
- 北航上机复试2012-第一题-第二题-第三题
- 2011年北航计算机复试上机题及代码
- 2011年北航计算机复试上机题代码
- 北航2006年计算机复试上机
- 北航2007年计算机复试上机
- 北航2008年计算机复试上机
- 北航2009年计算机复试上机
- 2005年浙大研究生复试上机真题-A+B
- 2005年浙大研究生复试上机真题-畅通工程
- 2005年浙大研究生复试上机真题-排名
- iOS常用宏定义
- VS2010产品秘钥
- [3.0]数组的创建及原理初探
- Excel导出到文件工具
- RN填坑-----tabBarIOS的icon和selectedIcon设置后无效
- 北航上机复试13真题
- hbase ,windows 写Java程序
- 从分支clone代码
- 一个hello world的编译原理
- 有关动/静态库的制作
- 电商商品模型的设计
- LeetCode总结,二叉树各种类型问题小结
- 绘图神器 —— Graphviz 绘制数据结构相关图形
- spring mvc接收数组mybatis 接收批量删除代码