PAT 1024 科学计数法 (字符串)

不用纠结怎么把输入串变成结果串,一部分一部分输出即可。(时间不够写一部分是一部分,+的情况10分-的情况6分,还漏了4分有空来讨论一下)

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn=10010;
 4 int main(){
 5     char a[maxn];
 6     scanf("%s",a);
 7     if(a[0]==‘-‘) printf("-");
 8     int len=strlen(a);
 9     int pos=0;
10     for(;pos<len;pos++){
11         if(a[pos]==‘E‘) break;
12     }
13     int index=(a[len-1]-‘0‘)+(a[len-2]-‘0‘)*10;//
14     int dpos;
15     if(a[pos+1]==‘+‘){
16         for(int i=1;i<pos;i++){
17             if(a[i]!=‘.‘) printf("%c",a[i]);
18             if(a[i]==‘.‘) dpos=i;
19         }
20         for(int i=0;i<(index-(pos-dpos-1));i++){
21             printf("0");//不需要补0的情况没讨论
22         }
23     }//10分
24     else if(a[pos+1]==‘-‘){
25         printf("0.");
26         for(int i=0;i<index-1;i++){
27             printf("0");
28         }
29         for(int i=1;i<pos;i++){
30             if(a[i]!=‘.‘) printf("%c",a[i]);
31         }
32     } //16分
33 } 

原文地址:https://www.cnblogs.com/taiga/p/12663898.html

时间: 2024-08-05 04:00:11

PAT 1024 科学计数法 (字符串)的相关文章

PAT 1024. 科学计数法 (20)

1024. 科学计数法 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 HOU, Qiming 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出. 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位

PAT——1024. 科学计数法

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出. 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留. 输入格式: 每个输入包含1个测试用例,即一个以科学计数法表示的实数A.该数字的存储长度不超过9999字节,且其指数的绝对值不超过9999. 输出格式: 对每个测

PAT 1024 科学计数法 段错误

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出. 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留. 输入格式: 每个输入包含1个测试用例,即一个以科学计数法表示的实数A.该数字的存储长度不超过9999字节,且其指数的绝对值不超过9999. 输出格式: 对每个测

PAT乙级 1024. 科学计数法 (20)

1024. 科学计数法 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 HOU, Qiming 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出. 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位

1024. 科学计数法(两点未通过)

题目截图: 思路: 字符串处理.根据指数正负做不同处理. 代码: /* 1024. 科学计数法 */ #include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> #include <time.h> #define maxn 10010 char str[maxn]; // 存储输入值 int main() { // a为整数部分 // b为E位置,c为指

P 1024 科学计数法

转跳点:?? 1024 科学计数法 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出. 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留. 输入格式: 每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 A.该数字的存储长度不超过 9999 字节,且其指数

PAT-乙级-1024. 科学计数法 (20)

1024. 科学计数法 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 HOU, Qiming 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出. 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位

1024 科学计数法 (20)(20 分)

1024 科学计数法 (20)(20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出. 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留. 输入格式: 每个输入包含1个测试用例,即一个以科学计数法表示的实数A.该数字的存储长度不超过9999字节,且其指数的

PAT乙级—1024. 科学计数法 (20)-native

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出. 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留. 输入格式: 每个输入包含1个测试用例,即一个以科学计数法表示的实数A.该数字的存储长度不超过9999字节,且其指数的绝对值不超过9999. 输出格式: 对每个测