PAT-A1073. Scientific Notation (20)(模拟)
来源:互联网 发布:对象数组初始化 编辑:程序博客网 时间:2024/05/21 03:27
指数正负分开处理,易错样例:-3.1415926E+4。
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <iomanip>#include <stdlib.h>using namespace std;#define MAX 10000+100int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); char str[MAX], zhishu[MAX], xiaoshu[MAX]; memset(xiaoshu, '\0', sizeof(xiaoshu)); memset(zhishu, '\0', sizeof(zhishu)); int i = 0, j = 0, f = 0, k = 0; //k是小数中小数点后个位数 cin >> str; for (i = 1, j = 0; str[i] != 'E'; i++ ) { xiaoshu[j++] = str[i]; k++; if (str[i] == '.') k = 0; } i++; if (str[i] == '-') f = 1; for (i++, j = 0; str[i] != '\0'; i++) zhishu[j++] = str[i]; //指数为负数 if (f == 1) { if ('-' == str[0]) cout << "-"; if (atoi(zhishu) == 0) { for (i = 0; xiaoshu[i] != '\0'; i++) cout << xiaoshu[i]; } else { cout << "0."; for (i = 0; i < atoi(zhishu)-1; i++) cout << "0"; for (i = 0; xiaoshu[i] != '\0'; i++) if (xiaoshu[i] != '.') cout << xiaoshu[i]; } cout << endl; } //指数为正 else { if ('-' == str[0]) cout << "-"; if (atoi(zhishu) == 0) { for (i = 0; xiaoshu[i] != '\0'; i++) cout << xiaoshu[i]; } else { if ( k <= atoi(zhishu)) { for (i = 0; xiaoshu[i] != '\0'; i++) if (xiaoshu[i] != '.') cout << xiaoshu[i]; for(i = 0; i < atoi(zhishu)-k; i++) cout << "0"; } else { //yiwei for (i = 0; xiaoshu[i] != '\0'; i++) if (xiaoshu[i] == '.') break; int j = i; for (; i < j+atoi(zhishu); i++) xiaoshu[i] = xiaoshu[i+1]; xiaoshu[j+atoi(zhishu)] = '.'; cout << xiaoshu; } } cout << endl; } return 0;}
0 0
- PAT-A1073. Scientific Notation (20)(模拟)
- 【PAT】A1073. Scientific Notation (20)
- PAT A1073. Scientific Notation (20)
- A1073. Scientific Notation (20)
- PAT(甲级)Scientific Notation (20)
- PAT 1073. Scientific Notation (20)
- PAT 1073. Scientific Notation (20)
- PAT 1073. Scientific Notation (20)
- PAT 1073. Scientific Notation (20)
- PAT 1073. Scientific Notation(20)
- PAT 1073. Scientific Notation (20)
- PAT 1073. Scientific Notation (20)
- 【PAT】1073. Scientific Notation (20)
- Pat 1073 PAT 1073. Scientific Notation (20)
- PAT (Advanced) 1073. Scientific Notation (20)
- PAT Advanced Level 1073. Scientific Notation (20)
- PAT A 1073. Scientific Notation (20)
- PAT甲级练习1073. Scientific Notation (20)
- oracle数据库卸载步骤
- Android ActionBar添加menu按钮
- java面试
- 虚幻3 学习 第一次 创建方块
- 操作系统-----进程管理
- PAT-A1073. Scientific Notation (20)(模拟)
- phpStorm中的"unescaped xml character"问题
- C++学习笔记53——纯虚函数与继承中的容器
- POJ 1426 Find The Multiple(简单深搜)
- Minimum Depth of a Binary Tree
- jquery学习笔记之动态添加元素绑定事件
- Linux基础笔试知识点
- 一个小画板(使用canvas)
- 内存管理相关