假设字符串为00001,最后要输出1.
方法1:用bool值记录零值
#include<iostream>
#include<cstring>
using namespace std;
char a[] = "00001";
int main()
{
int n = strlen(a);
bool flag = false;
for(int i = 0; i < n; ++i)
{
if(a[i] != '0') flag = true;//删除串首的零。
if(flag) cout << a[i];
}
if(!flag) cout << "0" << endl;//如果全为0就输出0
return 0;
}
方法2:指针的方法,碰到指针就往后移,跳过0即可。
#include<iostream>
#include<cstring>
using namespace std;
char a[] = "00001";
int main()
{
int n = strlen(a);
int i = 0;
while(i < n && a[i] == '0') i++;//删除前导0,如果遇到0,指针i往后移
if(i == n) cout << "0" << endl;
else
{
for(int j = i; j < n; ++j)
cout << a[j];
}
return 0;
}