定义了一个标志变量flag,如果是“00001”这种情况,说明有多个数字,即标志变量可以多次使用。如果是一般情况,说明只有一个数字,标志变量只可以使用一次
#include<bits/stdc++.h>
using namespace std;
signed main()
{
char a[1001];
gets(a);
int c=0;
int flag=0;//标志变量
for(int i=0;a[i]!='\0';i++)
{
if(a[i]=='0'&&flag==0)
c++;//如果出现“010”这种情况,标志变量不变
if(a[i]>'0'&&a[i]<='9'&&flag==0)
{
c++;
flag=1;//如果是正常情况,更改标志变量
}
if(a[i+1]==' '||a[i+1]>'9')
flag=0;//如果下一个字符不是数字,更改标志变量
}
cout << c;
return 0;
}