欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

一道简单的字符题

程序员文章站 2023-11-07 19:13:16
题目:输入一个整数(含负数),输出3个数据: 1.位数 2.拆分输出,空格隔开,其中 “-” 号与第一个数字一起输出 3.输出反转数 例: 输入: -12345 输出: 5 -1 2 3 4 5 -54321 代码: 结果: 分析:这样的实现总觉得还可以更简化···有哪位大神可以给个提示吗··· ......

题目:输入一个整数(含负数),输出3个数据:

1.位数

2.拆分输出,空格隔开,其中 “-” 号与第一个数字一起输出

3.输出反转数

例:

输入:

-12345

输出:

5

-1 2 3 4 5

-54321

代码:

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 int main()
 5 {
 6     string str;
 7     int i = 0;
 8     cin >> str;
 9     int size;
10     size = str.length();
11     char *p = new char[size];
12     strcpy(p, str.c_str());
13     if (p[0] == '-')
14     {
15         cout << size - 1 << endl;
16     }
17     else { cout << size << endl; }
18     if (p[0] == '-')
19     {
20         cout << p[0];
21     }
22     for (i = 0; i < size; i++)
23     {
24         if (p[i] >= '0'&&p[i] <= '9')
25         {
26             cout << p[i] << " ";
27         }
28     }
29     cout << endl;
30     if (p[0] == '-')
31     {
32         cout << p[0];
33     }
34     for (i = 0; i < size; i++)
35         {
36             if (p[size - 1 - i] >= '0'&&p[size - 1 - i] <= '9')
37             {
38                 cout << p[size - 1 - i];
39             }
40         }
41     return 0;
42 }

结果:

一道简单的字符题

分析:这样的实现总觉得还可以更简化···有哪位大神可以给个提示吗···