luogu P1307 数字反转 题解

Posted Misaka_Azusa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu P1307 数字反转 题解相关的知识,希望对你有一定的参考价值。

题目链接:https://www.luogu.org/problemnew/show/P1307

刚入门的一道字符串模拟,分四种情况讨论来做比较好。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 int main()
 6 {
 7 char a[1001];
 8 cin>>a;
 9 
10 int len=strlen(a);
11 
12 if(a[0]==-&&a[len-1]!=0)
13 {
14     cout<<"-";
15     for(int i=len-1;i>0;i--)
16     cout<<a[i];
17 }
18 //  如果是负数,但没有前导0
19 
20 if(a[0]!=-&&a[len-1]!=0)
21 {
22     for(int i=len-1;i>=0;i--)
23     cout<<a[i];
24 }
25 //  没有前导0,也没有负号 
26 
27 if(a[0]!=-&&a[len-1]==0)
28 {
29     int k=0;
30     for(int i=len-1;i>0;i--)
31     if(a[i]==0) 
32     k++;
33     else
34     break;
35     for(int j=len-1-k;j>=0;j--)
36     cout<<a[j];
37 } 
38 //  有前导0,但不是负数  
39 
40 if(a[0]==-&&a[len-1]==0) 
41 {
42     int k=0;
43     for(int i=len-1;i>0;i--)
44     if(a[i]==0) 
45     k++;
46     else
47     break;
48     cout<<"-";
49     for(int j=len-1-k;j>0;j--)
50     cout<<a[j];
51 } 
52 //  既有负号又有前导0 
53 
54 return 0;
55 }

 

以上是关于luogu P1307 数字反转 题解的主要内容,如果未能解决你的问题,请参考以下文章

P1307 数字反转

P1307 数字反转

P1307 [NOIP2011 普及组] 数字反转

洛谷 P1307

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。