码迷,mamicode.com
首页 > 其他好文 > 详细

【luogu P1307 数字反转】 题解

时间:2018-02-25 20:41:03      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:没有   iostream   int   str   names   情况   ret   AC   strlen   

题目链接: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 数字反转】 题解

标签:没有   iostream   int   str   names   情况   ret   AC   strlen   

原文地址:https://www.cnblogs.com/MisakaAzusa/p/8470106.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!