PAT 甲级 A1073 (2019/02/10) NULL(18/20)

Posted zjsaipplp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT 甲级 A1073 (2019/02/10) NULL(18/20)相关的知识,希望对你有一定的参考价值。

 1 #include<cstdio>
 2 #include<cstring>
 3 int main(){
 4     char Array[10010];
 5     scanf("%s",Array);
 6     int i = 0, pos, cnt, length = strlen(Array);
 7     while(Array[i++] != E);
 8     pos = i - 1;
 9     cnt = i + 1;
10     if(Array[0] == -)
11         printf("-");    
12     if(Array[i] == -){
13         printf("0.");
14         if(Array[cnt] == 0){
15             for(int j = cnt; j < length; j++){
16                 if(Array[j] != 0){
17                     for(int k = 0; k < Array[j] - 0 - 1; k++)
18                         printf("0");
19                 }
20             }
21         }
22         else{
23             for(int j = 0; j < (Array[cnt]-0) *10+(Array[cnt + 1] - 0) - 1; j++)
24                 printf("0"); 
25         }
26         for(int i = 1; i < pos; i++){
27             if(Array[i] == .){
28                 continue;
29             }
30             printf("%c",Array[i]);
31         }    
32     }
33     else{
34         int flag = 0;
35         if(Array[cnt] == 0){
36             for(int j = cnt; j < length; j++){
37                 if(Array[j] == 0){
38                     continue;
39                 }
40                 flag = Array[j] - 0;    
41             }
42         }
43         else{
44             for(int q = cnt; q < length; q++){
45                 flag = flag*10 + Array[q] - 0;
46             }    
47         }
48         int start = 0;
49         for(int k = 1; k < pos; k++){
50             if(Array[k] == .){
51                 continue;
52             }
53             printf("%c",Array[k]);
54             start++;
55             if(start-1 == flag && Array[k+1] != E){
56                 printf(".");
57             }
58         } 
59         if(flag > start){
60             for(int j = 0; j < (Array[cnt]-0)*10+(Array[cnt + 1] - 0) - 1; j++)
61                 printf("0");
62         }
63     }
64     return 0;
65 } 

 

以上是关于PAT 甲级 A1073 (2019/02/10) NULL(18/20)的主要内容,如果未能解决你的问题,请参考以下文章

PAT 甲级 A1005 (2019/02/10)

PAT 甲级 A1035 (2019/02/10)

PAT 甲级 A1001 (2019/02/10)

PAT 甲级 A1001 (2019/02/10)

pat甲级75分在啥水平

pat甲级没做出来没有分吗