using namespace std;
string ans_number_go;
int main()
{
cin >> ans_number_go;
if (ans_number_go[0] =='-')
{
cout <<"-";
for (int i = ans_number_go.size() ; i > 0 ; i--)
{
if (ans_number_go[i] == '0')
{
continue;
}
cout<<ans_number_go[i];
}
}
else if (ans_number_go[0] == '0')
{
cout << "0";
}
else
{
for (int i = ans_number_go.size() ; i >= 0 ; i--)
{
if (ans_number_go[i] == '0')
{
continue;
}
cout<<ans_number_go[i];
}
}
return 0;
}
问题出在
for (int i = ans_number_go.size(); i >= 0; i--)
应该是
for (int i = ans_number_go.size()-1; i >= 0; i--)
最后一个元素的索引应该是字符串的长度减1
要学会使用编辑器进行断点调试,逐步运行分析
你的程序没有输出空格的地方,所以要有也是你输入的时候有空格。
你的程序干嘛的,怎么输入的,输入什么,期待正确的输出是什么,你都没有说,无法进一步判断。
打印输出这样写:
cout<<ans_number_go[i]<<endl;
就没有空格了