首页 > 其他 > 详细

【luogu P1307 数字反转】 题解

时间:2018-02-25 19:41:30      阅读:263      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!