#include<iostream>
using namespace std;
int main()
{
string s;
while(cin>>s)
{
char c[s.length()];
for(int i=0;i<s.length();i++)
{
c[s.length()-1-i]=s[i];
}
for(int j=0;j<s.length();j++)
{
cout << c[j];
}
cout << endl;
}
}
-----------------------------------------------------------------------
以上是我的程式碼,請問怎麼削去前面的零QWQ,求解答。
不一定需要用另外一個 char []
來存,對 s
反向處理即可
for (int i = s.length() - 1; i >= 0; i--) { ; // 輸出 s[i] }
去掉前面的零,可以想成「遇到不是 '0'
之前,都不要輸出」
bool isZero = true; for (/* 略 */) { if (isZero && s[i] == '0') continue; // 遇到不是 '0' 的時候,才會到下面這段 isZero = false; cout << s[i]; }
要注意,輸入的數字有可能是 0
,上面的寫法會沒有輸出 (一直被 continue
),後面要再補上
if (isZero) cout << '0';
最後記得換行