一道簡單的字元題
阿新 • • 發佈:2018-12-09
題目:輸入一個整數(含負數),輸出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 }
結果:
分析:這樣的實現總覺得還可以更簡化···有哪位大神可以給個提示嗎···