1. 程式人生 > >一道簡單的字元題

一道簡單的字元題

題目:輸入一個整數(含負數),輸出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 }

結果:

分析:這樣的實現總覺得還可以更簡化···有哪位大神可以給個提示嗎···